通过php prepared语句插入mySql失败

时间:2015-12-24 17:33:10

标签: php mysql

以下是绑定变量:

$uid = 28;
$csr = 1;
$inr = 1;
$hdr = 1;
$prn = 1;
$pay = 2;

这些是代码:

$stmt = $mysqli->prepare("INSERT INTO mytable(uid, csr, inr, hdr, prn, pay) VALUES(?,?,?,?,?,?) LIMIT 1");
$stmt->bind_param("iiiiii", $uid, $csr, $inr, $hdr, $prn, $pay);
$stmt->execute();

这是我收到的错误消息:

  

PHP致命错误:在a上调用成员函数bind_param()   非对象

有人能在这里发现错误吗?

2 个答案:

答案 0 :(得分:2)

从查询中检索数据时使用Limit(即在SELECT中)。它只接收您设置的限制。有关详细信息MySQL Limits

试试这个,它在bind_param中没有限制和单引号(只是包含)。

$stmt = $mysqli->prepare("INSERT INTO mytable(uid, csr, inr, hdr, prn, pay) VALUES(?,?,?,?,?,?)");
$stmt->bind_param('iiiiii', $uid, $csr, $inr, $hdr, $prn, $pay);
$stmt->execute();

您还应该检查您的连接是否有效。

  

参考:http://php.net/manual/en/mysqli-stmt.bind-param.php

答案 1 :(得分:0)

从您的陈述中删除:LIMIT 1

它不属于“插入”声明!。