2016-04-24 114 views
2

我不確定此查詢不起作用的原因!該查詢刪除用戶帳戶:DELETE * FROM TABLE WHERE this = that not working

$query = mysqli_query($connection, "DELETE * FROM users WHERE cookie='$cookie'"); 

然而,當我更換DELETESELECT,它的作品!我的DELETE語法錯了嗎?

+1

您應該閱讀[documentation](http://dev.mysql.com/doc/refman/5.7/en/delete.html)。你會發現以不同方式描述的正確語法。甚至有例子! – Terminus

+0

@Terminus感謝您的建議!期待下次使用該文檔:) –

回答

6

使用DELETE時不需要*。只要做

"DELETE FROM users WHERE cookie='$cookie'" 
+0

這真是一個非常懶惰的錯誤,感謝那個快速提示!^_^ –

+1

@ConnectionCoder沒問題,高興幫忙!如果這解決了你的問題,如果你接受它作爲答案,我會非常感激。 – nhouser9

+0

我即將這樣做,但系統不會允許我接受另一個8分鐘的答案,因爲我得到答案的時間非常短。儘管我會接受解決方案! –

3

在DELETE語句中不能有*

如果你想刪除所有的行,這會做:

$query = mysqli_query($connection, "DELETE FROM users WHERE cookie='$cookie'"); 

當您使用SELECT * FROM*會選擇一切。但是,對於DELETE,不需要,因爲只能刪除整行。

2

當您使用SELECT *時,它的工作原理是因爲您正在選擇表格中的所有列。在你的情況下,你的查詢應該看起來像這樣

DELETE FROM users WHERE cookie='$cookie' 

因爲不需要在這裏指定列。

相關問題