卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章16760本站已运行3321

PHP 的准备语句:识别问题

\"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>

 

卓越飞翔博客
上一篇: 递归程序打印所有小于N的仅由数字1或3组成的数字
下一篇: Python程序用于测试字符串是否只包含数字和字母
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏