Heim >Datenbank >MySQL-Tutorial >Warum gibt „mysqli_num_rows()' „erwartet, dass Parameter 1 mysqli_result ist, boolescher Wert gegeben' zurück?
mysqli_num_rows() erwartet, dass Parameter 1 mysqli_result ist, boolean gegeben
Die Fehlermeldung „mysqli_num_rows( ) erwartet, dass Parameter 1 mysqli_result ist, „Boolescher Wert gegeben“ tritt auf, wenn versucht wird, die Funktion mysqli_num_rows() auf einen booleschen Wert anstelle eines gültigen MySQL-Ergebnissatzes (mysqli_result) zu verwenden.
Im bereitgestellten Code wird die Fehler tritt in Zeile 22 auf:
if (mysqli_num_rows($dbc) == 0) {
The Die Variable $dbc wird in Zeile 13 mithilfe der Funktion mysqli_query() zugewiesen. Bei der Untersuchung der Abfrage wird jedoch ein Fehler angezeigt:
$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");
Die Abfrage versucht, die Tabellen „users“ und „profile“ mithilfe eines „INNER JOIN“ zu verknüpfen, es gibt jedoch keine Verknüpfungsbedingung zwischen „profile“ und jeder andere Tisch. Als Ergebnis gibt die Abfrage „false“ (boolescher Wert „false“) zurück.
Um den Fehler zu beheben, muss die Abfrage korrigiert werden, um eine ordnungsgemäße Verknüpfungsbedingung einzuschließen. Hier ist die korrigierte Abfrage:
$dbc = mysqli_query($mysqli,"SELECT users.*, profile.* FROM users INNER JOIN profile ON users.user_id = profile.user_id WHERE users.user_id=3");
Mit dieser Korrektur gibt die Abfrage einen gültigen MySQL-Ergebnissatz zurück, sodass mysqli_num_rows() korrekt funktionieren kann.
Das obige ist der detaillierte Inhalt vonWarum gibt „mysqli_num_rows()' „erwartet, dass Parameter 1 mysqli_result ist, boolescher Wert gegeben' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!