PHP中的MySQLi查询工作不正常,有没有办法获得确切的查询?

时间:2010-03-04 20:09:10

标签: php mysqli

有没有办法在MySQLi准备之后获取查询?我的疑问搞砸了:

$query = "UPDATE event SET group=?, boxed=?, name=?, location=?, time=?, day=?, type=? WHERE id=? LIMIT 1";
if($stmt = $db -> prepare($query))
{
    $stmt -> bind_param("iisssssi", $group, $boxed, $name, $location, $time, $day, $etype, $id);
    $stmt -> execute();
    $stmt -> close();
}
else

错误讯息:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'group = ?, boxed = ?, name = ?, location = ?, time =?,day = ?, type =?附近使用正确的语法。 WHERE id =?在第1行限制1'

变量group是一个int,boxed是一个int,其余是字符串,id是一个int。

2 个答案:

答案 0 :(得分:6)

您正在使用SQL保留字“group”作为列名之一。

答案 1 :(得分:1)

不,MySQLi准备之后无法获取查询,因为通常意义上没有查询。字符串在您编写时会转到服务器 - 带有问号。这是准备好的陈述的一个恼人的缺点。