Heim >Backend-Entwicklung >PHP-Tutorial >Vorbereitete Anweisungen für PHP: Identifizieren des Problems

Vorbereitete Anweisungen für PHP: Identifizieren des Problems

WBOY
WBOYOriginal
2023-08-30 08:29:10899Durchsuche

PHP 的准备语句:识别问题

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!


Endgültiger Code

<?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!

Stellungnahme:
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