PHP预处理语句错误:警告:mysqli_stmt :: bind_param():

时间:2013-08-17 20:45:49

标签: php mysqli prepared-statement

我正在学习使用预准备语句从我的数据库中的表中选择我的所有数据但是我收到此错误

Warning: mysqli_stmt::bind_param(): Number of variables doesn't match 
number of parameters in prepared statement in 
/Applications/XAMPP/xamppfiles/htdocs/contenteditable/classes/class.Insert.inc on 
line 13

也许我没有以正确的方式使用准备好的陈述我不确定,我之前已经使用过准备好的陈述,所以希望有人可以告诉我哪里出错或者是否有人有一个有用的工作示例。

这是我的代码:

的index.php

<div id="maincontent" contenteditable="true">
    <?php
        //get data from database.
        require("classes/class.Insert.inc");
        $insert = new Insert();
        $insert->read();
     ?>

    <button id="save">Save</button>
        <input type="button" id="clear" value="Clear changes" />

    </div>

类/ class.Insert.php

<?php 
include("connect/class.Database.inc");

 class Insert extends Database {

    public $firstname;
    public $content;

public function read(){

    $stmt = $this->mysqli->prepare('SELECT * FROM datadump');
    $stmt->bind_param('s', $content);

    $stmt->execute();

    $result = $stmt->get_result();
    while ($row = $result->fetch_assoc()) {
        echo $content;      }
        }           
  }
 ?>

1 个答案:

答案 0 :(得分:1)

bind_param为您的查询绑定参数,其中占位符为零。这导致PHP抱怨。

您可能打算使用bind_result,这是将结果集数据导出为变量的方法。