2013-03-25 69 views
0

好的幫助,我不斷收到一個:我需要determing有什麼不對我的delete語句

Fatal error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax:

我delete語句是這樣的:

"DELETE FROM tblSymbol WHERE UserID=$PersonID"."AND Symbol=$stock" 

有誰看到什麼毛病我刪除語句?我是否正確使用它?

回答

1

"DELETE FROM tblSymbol WHERE UserID=$PersonID"."AND Symbol=$stock" 

當您連接它,它看起來就像這樣:

DELETE FROM tblSymbol WHERE UserID=$PersonIDAND Symbol=$stock 

注意沒有空間之前。

此外,還要確保$變量正確更換,因爲SQL會希望正確的數據類型(數字或用引號括起來的字符串,或......)

+0

謝謝你們。這擺脫了那個錯誤,但現在我得到一個致命的錯誤:'where子句'中的未知列'MCD'。會造成什麼? – user2014904 2013-03-25 06:03:59

1

試試這個

$query = 'DELETE * FROM tblSymbol WHERE UserID='.$PersonID.' AND Symbol='.$stock; 

,或者

$query = 'DELETE * FROM tblSymbol WHERE UserID=$PersonID AND Symbol=$stock'; 

編輯
注意我添加了*符號,意思是「刪除符合標準的所有內容」

+0

謝謝你們。這擺脫了那個錯誤,但現在我得到一個致命的錯誤:'where子句'中的未知列'MCD'。會造成什麼? – user2014904 2013-03-25 06:07:50

+0

您沒有指定要刪除的內容,請參閱我的編輯 – 2013-03-25 06:08:46

+0

這是什麼意思? – user2014904 2013-03-25 06:14:36

2

首先,在AND之前似乎沒有空格。

其次,您的代碼易受SQL注入攻擊。你不應該使用$變量來構造你的語句。相反,使用?而不是prepared statements