-3
Warum gibt mysqli_num_rows
Funktion immer falsch im folgenden Code zurück?Warum mysqli_num_rows immer false zurückgibt
<?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>
Gibt 'mysqli_num_rows'' 0' oder 'false' zurück? Verwenden Sie 'var_dump ($ results);', um zu überprüfen. –
Nun, welche Nummer gibt es zurück? Was erwartest du, dass es zurückkommt? Warum erwartest du das? – David
@David Ich benutze Lampe, um PHP-Skript auszuführen. Jedes Mal, wenn ich die Seite aktualisiere, tritt ein Fehler auf. "Warnung: mysqli_num_rows() erwartet, dass Parameter 1 mysqli_result, boolean in ~ diary.php in Zeile 29 ist". Stattdessen sollte es die 0 oder 1 gemäß den in der Datenbank vorhandenen Datensätzen zurückgeben. –