Heim >Datenbank >MySQL-Tutorial >Warum gibt „mysqli_num_rows()' in PHP und MySQL einen „Boolean gegebenen' Fehler zurück?
PHP & MySQL: Beheben eines mysqli_num_rows()-Parameterfehlers mit mysqli_result
Bei der Integration von HTML Purifier in PHP zur Datenvalidierung ist es wichtig, dies sicherzustellen Korrekte Parameterübergabe, um häufige Fehler wie „mysqli_num_rows() erwartet Parameter 1“ zu vermeiden sei mysqli_result, boolean gegeben.“
Verstehen des Fehlers
Normalerweise tritt dieser Fehler auf, wenn die Funktion mysqli_num_rows() mit einem falschen Argument aufgerufen wird. Als ersten Parameter erwartet es ein gültiges mysqli_result-Objekt. Im angegebenen Codeausschnitt ist der erste Parameter $dbc, der ein gültiger Ergebnissatz aus einer MySQL-Abfrage sein muss.
Mögliche Ursachen
Falsche Verwendung oder a Eine fehlerhafte Abfrage kann dazu führen, dass ein boolescher Wert (FALSE) anstelle eines mysqli_result-Objekts zurückgegeben wird. Dies kann passieren, wenn:
Problem lösen
In Im bereitgestellten Code liegt das Problem in der SQL-Abfrage, die zum Abrufen von Daten aus der Datenbank verwendet wird:
$dbc = mysqli_query($mysqli,"SELECT users.*, profile.* FROM users INNER JOIN contact_info ON contact_info.user_id = users.user_id WHERE users.user_id=3");
Der Fehler wird durch das Weglassen der Verknüpfung mit dem Profil im Vergleich zu „users“ und „contact_info“ verursacht. Die korrekte Abfrage sollte wie folgt lauten:
$dbc = mysqli_query($mysqli,"SELECT u.*, p.* FROM users AS u LEFT JOIN profile AS p ON u.user_id = p.user_id WHERE u.user_id=3");
Durch Korrigieren der Abfrage gibt die Variable $dbc ein gültiges mysqli_result-Objekt zurück, sodass Sie mysqli_num_rows() effektiv verwenden können:
if (mysqli_num_rows($dbc) == 0) { //...
Das obige ist der detaillierte Inhalt vonWarum gibt „mysqli_num_rows()' in PHP und MySQL einen „Boolean gegebenen' Fehler zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!