我有一个mysql查询,我试图从php运行。但它在codeigniter中给我一个sql语法错误。当我复制粘贴相同的查询并在mysql workbench
中运行它替换{ {1}}和@uid
具有正确的值,它可以正常工作。
以下是查询:
@rangee
为什么它会给我错误?
答案 0 :(得分:1)
首先,query()
方法不是为了执行多个查询。
接下来,您的代码允许通过$ userid变量注入。
更好地从这些原始预处理语句转移到二进制预处理语句,如手册
中所述答案 1 :(得分:0)
完全不可能从你的代码中告诉我们这是什么类型的对象$ this-> db。如果是mysqli用于转义,则query()函数不支持多个语句。
此外,当您使用PHP中的预准备语句时,您应该使用PHP包装器作为预编译语句,如mysqli::prepare()