2015-09-01 111 views
0
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 'SET =test WHERE =test' at line 1] in EXECUTE("UPDATE SET =test WHERE =test") 

$sql = 'UPDATE ' . $this->recipientDbTable . ' SET ' . $this->recipientDbColumn['result_id'] . '=' . 'test' . ' WHERE ' . $this->recipientDbColumn . '=' . 'test'; 
+2

看那*实际* SQL字符串,看看它为什么包含垃圾。然后停止做字符串连接和[为*值*使用占位符](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1)。 – user2864740

+0

错误的查询!请尝试阅读错误。 – aldrin27

+0

我有兄弟没有线索甚至发生了什么ayy lmao – Spidey

回答

0

它看起来像$this->recipientDbColumn['result_id']为空或空。看看你的错误日志error_reporting(E_ALL),它可能有一个未定义的索引错误。

此外,回显出实际的SQL查询并将其发布到此处,应该很明显是什么问题。

另外,使用预处理语句。

+0

感谢您立即看看 – Spidey

+0

SQL字符串的语法不正确,因为他错过了等号。 – GordonM

+0

反复回显UPDATE SET = test WHERE = testUPDATE SET = test WHERE = testUPDATE SET = test WHERE – Spidey

0

$this->recipientDbColumn['result_id']$this->recipientDbColumn由于错误提示返回空字符串。

...正确的语法使用近 'SET =测试,其中测试=' 在行1] EXECUTE( “UPDATE SET =测试,其中测试=”)

正如你可以看到,该调用返回空字符串。检查你错过的地方的代码!

+0

谢谢现在看看 – Spidey

0

根据该错误,似乎您的$this->recipientDbTable &其他变量不包含值。

尝试

echo $this->recipientDbColumn; 

检查是否打印值

+0

谢谢看看现在 – Spidey

+0

是的,它是空的大声笑看起来像我有更大的问题哈哈,谢谢 – Spidey

相关问题