2013-03-25 68 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