首頁 >後端開發 >php教程 >PHP 的準備語句:辨識問題

PHP 的準備語句:辨識問題

WBOY
WBOY原創
2023-08-30 08:29:10911瀏覽

PHP 的准备语句:识别问题

PHP 的準備語句(用於資料庫存取)非常棒。它們不僅有助於保護您的資料庫查詢,而且對於大型產品來說尤其更有效。然而,有一些問題似乎使這些方法不如我們希望的那麼靈活。其一,我們必須使用 bind_result 方法,並傳入特定數量的變數。但是,當此程式碼位於類別中並且我們不會立即知道要傳遞多少個變數時會發生什麼情況?幸運的是,有一個解決方案!我將在今天的視頻教程中向您展示它是什麼。

#

#高級會員:下載此影片(必須登入)

#訂閱我們的 YouTube 頁面以觀看所有影片教學!


最終程式碼

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

以上是PHP 的準備語句:辨識問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn