我不確定此查詢不起作用的原因!該查詢刪除用戶帳戶:DELETE * FROM TABLE WHERE this = that not working
$query = mysqli_query($connection, "DELETE * FROM users WHERE cookie='$cookie'");
然而,當我更換DELETE
與SELECT
,它的作品!我的DELETE
語法錯了嗎?
我不確定此查詢不起作用的原因!該查詢刪除用戶帳戶:DELETE * FROM TABLE WHERE this = that not working
$query = mysqli_query($connection, "DELETE * FROM users WHERE cookie='$cookie'");
然而,當我更換DELETE
與SELECT
,它的作品!我的DELETE
語法錯了嗎?
使用DELETE
時不需要*。只要做
"DELETE FROM users WHERE cookie='$cookie'"
這真是一個非常懶惰的錯誤,感謝那個快速提示!^_^ –
@ConnectionCoder沒問題,高興幫忙!如果這解決了你的問題,如果你接受它作爲答案,我會非常感激。 – nhouser9
我即將這樣做,但系統不會允許我接受另一個8分鐘的答案,因爲我得到答案的時間非常短。儘管我會接受解決方案! –
在DELETE語句中不能有*
。
如果你想刪除所有的行,這會做:
$query = mysqli_query($connection, "DELETE FROM users WHERE cookie='$cookie'");
當您使用SELECT * FROM
,*
會選擇一切。但是,對於DELETE,不需要,因爲只能刪除整行。
當您使用SELECT *
時,它的工作原理是因爲您正在選擇表格中的所有列。在你的情況下,你的查詢應該看起來像這樣
DELETE FROM users WHERE cookie='$cookie'
因爲不需要在這裏指定列。
您應該閱讀[documentation](http://dev.mysql.com/doc/refman/5.7/en/delete.html)。你會發現以不同方式描述的正確語法。甚至有例子! – Terminus
@Terminus感謝您的建議!期待下次使用該文檔:) –