[英]What could be causing this PHP - MySQL bind error?
您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册,以在'?,?'附近使用正确的语法。 在第1行
我之前从未遇到过代码问题,因此我猜测它与MySQL版本(MySQL 4.1.25&PHP 5)有关。
这是我正在使用的代码:
$sql = "a long sql select statement... ?,?";
if ($stmt = $mysqli->prepare($sql))
{
// it never even gets here
$stmt->bind_param('ii',$offset,$limit);
...
}
else
{
echo($mysqli->error);
}
您不能在LIMIT x,y
绑定x和y LIMIT x,y
因为只能绑定数据。
作为替代方案,您可以在验证后直接在代码中添加$ offset和$ limit,并使用以下内容而不绑定$ offset和$ limit:
$sql = "a long sql select statement... $offset,$limit";
我不确定接受的答案是否正确。 我刚刚尝试使用MySQL5.0.7和PHP 5.3.3。 它可以正常工作。
该服务器上最近有从PHP <5.3到5.3+的更新吗?
如果是,这可能会导致问题(尚不清楚如何传递参数):
PHP 5.3+要求通过引用传递bind_param()的参数,在早期版本中则不需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.