-3
なぜmysqli_num_rows
関数は常に以下のコードでfalseを返すのですか?mysqli_num_rowsが常にfalseを返す理由
<?php
if($_POST['submit']){
//to validate the email address
if(!$_POST['email']){
$error.="<br/>Please enter your email";
}else if(!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)){
$error.="<br/>Please enter a valid email address";
}
// To validate password
if(!$_POST['password']){
$error.="<br/>Please enter a password";
}else{
if(strlen($_POST['password'])<8){
$error.="<br/>Please enter a password with at least 8 characters";
}
if(!preg_match('`[A-Z]`',$_POST['password'])){
$error.="<br/>Please include at least one capital letter in your password";
}
}
if($error){
echo "There were error(s) in your sign up details".$error;
}else{
$link=mysqli_connect("localhost","diary","");
if(mysqli_connect_error()){
die("there is an arror");
}
//$query="insert into `users` (`email`,`number`) values ('[email protected]',123)";
$email1=$_POST['email'];
// search for already registered emails
$query="select * from users where email='".mysqli_real_escape_string($link,$email1)."'";
$result = mysqli_query($link, $query);
if (!$result){
die(mysqli_error($link));
}
// And here where errors comes.
$results = mysqli_num_rows($result);
if(!$results){
echo "That email address is already registered";
}else{
echo "dont know";
}
}
}
?>
<form method=post>
<input type="email" name="email" id="email"/>
<input type="password" name="password" />
<input type="submit" name="submit" value="Sign Up">
</form>
「mysqli_num_rows」は「0」または「false」を返しますか? 'var_dump($ results);'を使ってチェックします。 –
さて、何番の返事ですか?それは何を返すと思いますか?なぜそれを期待していますか? – David
@David私はPHPスクリプトを実行するランプを使用しています。私はページをリフレッシュするたびにエラーが発生します。 "警告:mysqli_num_rows()は、パラメータ1がmysqli_result、〜29行目のdiary.phpで指定されたブール値になることを期待しています。"この代わりに、データベースにあるレコードに従って0または1を返します。 –