首页 >后端开发 >php教程 >PHP 的准备语句:识别问题

PHP 的准备语句:识别问题

WBOY
WBOY原创
2023-08-30 08:29:10901浏览

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