Die vorbereiteten Anweisungen von PHP (für den Datenbankzugriff) sind großartig. Sie tragen nicht nur zum Schutz Ihrer Datenbankabfragen bei, sondern sind insbesondere bei größeren Produkten effektiver. Es gibt jedoch einige Probleme, die diese Methoden offenbar weniger flexibel machen, als wir es gerne hätten. Zuerst müssen wir die bind_result
-Methode verwenden und eine bestimmte Anzahl von Variablen übergeben. Aber was passiert, wenn sich dieser Code in einer Klasse befindet und wir nicht sofort wissen, wie viele Variablen wir übergeben müssen? Zum Glück gibt es eine Lösung! Was das ist, zeige ich euch im heutigen Video-Tutorial.
Premium-Mitglieder: Laden Sie dieses Video herunter (Anmeldung erforderlich)
Abonnieren Sie unsere YouTube-Seite, um alle Video-Tutorials anzusehen!
<?php function read() { $parameters = array(); $results = array(); $mysql = new mysqli('localhost', 'root', 'root', 'db') or die('There was a problem connecting to the database'); $stmt = $mysql->prepare('SELECT body FROM posts') or die('Problem preparing query'); $stmt->execute(); $meta = $stmt->result_metadata(); while ( $field = $meta->fetch_field() ) { $parameters[] = &$row[$field->name]; } call_user_func_array(array($stmt, 'bind_result'), $parameters); while ( $stmt->fetch() ) { $x = array(); foreach( $row as $key => $val ) { $x[$key] = $val; } $results[] = $x; } return $results; } $results = read(); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>untitled</title> </head> <body> <?php foreach ($results as $row) : ?> <p> <?php echo $row['body']; ?> </p> <?php endforeach; ?> </body> </html>
Das obige ist der detaillierte Inhalt vonVorbereitete Anweisungen für PHP: Identifizieren des Problems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!