2015-09-01 110 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

相關問題