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中文網其他相關文章!