(PDO,PHP)使用预准备语句

时间:2015-08-10 16:11:14

标签: php mysqli prepared-statement

我试图创建一个动态函数,通过使用预处理语句将数据插入从数组中获取的数据库中,因此我在Internet中找到了此代码,但它并没有按预期工作。

第一个功能" posts_info"用于调用"插入函数"并将数据发送给它。

function posts_info($ registered_data){

 global $connect;
 $table = "posts";
 $cols =array_keys($registered_data);
 $values = $registered_data;

 insert($table, $cols, $values);
}

"插入功能"以上用于将数据插入数据库

         function insert($table, $cols, $values){
 global $connect;
    $placeholder = array();
    for ($i = 0; $i < count($values); $i++)
      $placeholder[] = '?';

    $sql = 'INSERT INTO '. $table . ' (`' . implode("`, `", $cols) . '`) ';
    $sql.= 'VALUES (' . implode(", ", $placeholder) . ')';

    $stmt = $connect->prepare($sql);
    $stmt-> bind_param("issssss",$a,$b,$s,$d,$u,$o,$p);
    $stmt->execute();

    $stmt->close();


}

当我尝试插入某些内容时,我会收到此错误

请帮我解决这个问题。

我调整了函数以使用mysqli而不是PDO

我得到的新错误是

  

mysqli_stmt :: execute()需要0个参数,第29行/opt/lampp/htdocs/site1/admin/core/function/general.php中给出的参数为1

第29行是

  

$ stmt-&GT;执行($值);

在插入功能

0 个答案:

没有答案