通过php准备的语句插入mySql失败


Inserting into mySql through php prepared statement fails

以下是绑定变量:

$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致命错误:调用无目标

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

Limit用于从查询中检索数据(即在SELECT中)。它只接收您设置的限制。有关更多信息,MySQL限制

试试这个,它没有限制,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

从您的语句中删除this:LIMIT 1

它不属于"插入"语句!。