我有一个特殊情况需要使用 mysqli::query 而不是 mysqli::prepare。我正在尝试通过变量将 null 传递给存储过程。以下与准备好的语句一起使用:
$val = null;
$stmt = $this->db->prepare('CALL my_stored_procedure(?, ?)');
$stmt->bind_param('ii', $this->id, $val);
etc...
不适用于查询:
$val = null;
$qry = $this->db->query("CALL my_stored_procedure($this->id, $val)");
etc...
结果是:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1, )'
我可以明确地传递 null ok,但这对我没有好处。
同样,在这种情况下,我不能使用准备好的语句。有没有办法将 null 传递给 mysqli 查询?