Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt „mysqli_stmt::num_rows' nach der Verwendung von „prepare', „bind_param', „bind_result' und „fetch' durchgängig Null zurück?

Warum gibt „mysqli_stmt::num_rows' nach der Verwendung von „prepare', „bind_param', „bind_result' und „fetch' durchgängig Null zurück?

DDD
Freigeben: 2024-12-08 05:43:09
Original
264 Leute haben es durchsucht

Why Does `mysqli_stmt::num_rows` Consistently Return Zero After Using `prepare`, `bind_param`, `bind_result`, and `fetch`?

mysqli num_rows gibt konsistent Null zurück

Frage:

Bei Verwendung von MySQLis Prepare, bind_param, num_rows-, bind_result- und fetch-Methoden zum Abrufen von Zeilen Warum gibt num_rows in einer Datenbank immer 0 zurück?

Antwort:

Falsche Verwendung von MySQLi-Aufrufen. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus, bevor Sie die Anzahl der Zeilen abrufen:

$stmt->execute();
$stmt->store_result();
Nach dem Login kopieren

Der Aufruf von store_result() ist wichtig, damit mysqli_stmt::num_rows ordnungsgemäß funktioniert.

Hier ist ein überarbeiteter Codeausschnitt mit dem hinzugefügten Aufruf store_result():

if ($stmt = $mysqli->prepare("SELECT id, title, visible, parent_id FROM content WHERE parent_id = ? ORDER BY page_order ASC;")) {
    $stmt->bind_param('s', $data->id);
    $stmt->execute();
    $stmt->store_result();
    $num_of_rows = $stmt->num_rows;
    $stmt->bind_result($child_id, $child_title, $child_visible, $child_parent);

    while ($stmt->fetch()) {
        // Code here
    }

    echo($num_of_rows);

    $stmt->close();
}
Nach dem Login kopieren

Bitte beachten Sie die Weitere Informationen finden Sie in der offiziellen Dokumentation für mysqli_stmt::num_rows.

Das obige ist der detaillierte Inhalt vonWarum gibt „mysqli_stmt::num_rows' nach der Verwendung von „prepare', „bind_param', „bind_result' und „fetch' durchgängig Null zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage