PHP的PREPARE STMT查询无法正常工作

时间:2012-12-25 19:47:03

标签: php mysql codeigniter prepared-statement

  

可能重复:
  How can you run a mysqli query with CodeIgniter?

我有一个mysql查询,我试图从php运行。但它在codeigniter中给我一个sql语法错误。当我复制粘贴相同的查询并在mysql workbench中运行它替换{ {1}}和@uid具有正确的值,它可以正常工作。

以下是查询:

@rangee

为什么它会给我错误?

2 个答案:

答案 0 :(得分:1)

首先,query()方法不是为了执行多个查询。 接下来,您的代码允许通过$ userid变量注入。

更好地从这些原始预处理语句转移到二进制预处理语句,如手册

中所述

答案 1 :(得分:0)

完全不可能从你的代码中告诉我们这是什么类型的对象$ this-> db。如果是mysqli用于转义,则query()函数不支持多个语句。

此外,当您使用PHP中的预准备语句时,您应该使用PHP包装器作为预编译语句,如mysqli::prepare()