Rumah > pembangunan bahagian belakang > tutorial php > Penyata Disediakan untuk PHP: Mengenalpasti Masalah

Penyata Disediakan untuk PHP: Mengenalpasti Masalah

WBOY
Lepaskan: 2023-08-30 08:30:01
asal
899 orang telah melayarinya

PHP 的准备语句:识别问题

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!


Kod akhir

<?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>
Salin selepas log masuk

Atas ialah kandungan terperinci Penyata Disediakan untuk PHP: Mengenalpasti Masalah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan