Kenyataan yang disediakan PHP (untuk akses pangkalan data) adalah hebat. Bukan sahaja ia membantu melindungi pertanyaan pangkalan data anda, tetapi ia lebih berkesan terutamanya untuk produk yang lebih besar. Walau bagaimanapun, terdapat beberapa isu yang nampaknya menjadikan kaedah ini kurang fleksibel daripada yang kami mahukan. Untuk satu, kita perlu menggunakan kaedah bind_result
dan lulus dalam bilangan pembolehubah tertentu. Tetapi apa yang berlaku apabila kod ini berada dalam kelas dan kami tidak segera mengetahui berapa banyak pembolehubah yang perlu dilalui? Nasib baik, ada penyelesaian! Saya akan menunjukkan kepada anda apa itu dalam tutorial video hari ini.
Ahli premium: Muat turun video ini (mesti log masuk)
Langgan halaman YouTube kami untuk menonton semua tutorial video!
<?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>
Atas ialah kandungan terperinci Penyata Disediakan untuk PHP: Mengenalpasti Masalah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!