簡體   English   中英

PHP插入SQL的問題

[英]Issue with PHP insert to SQL

我對PHP和SQL相當陌生,我一直在關注一些教程。 我正在嘗試將一些簡單的項目插入到現有的表中(是的,名稱在表中是准確的,登錄信息等)

這是我得到的錯誤:

您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊,以在第1行的“用戶”(“用戶名”,“電子郵件”)“ VALUES”(“測試名”,“ 123”)附近使用正確的語法

這是我的字符串:

mysql_query("INSERT INTO 'user' ('username', 'email') VALUES ('Testname', '123')") or die(mysql_error());

有任何想法嗎?

替換您的代碼:

mysql_query("INSERT INTO `user` (username, email) VALUES ('Testname', '123')") or die(mysql_error());

將您的代碼替換為

mysql_query("INSERT INTO user VALUES ('Testname', '123')") or die(mysql_error());

'和`符號之間有區別,當您需要調用列時,需要用

`符號不能帶有單引號'

mysql_query("INSERT INTO `user` (`username`, `email`) VALUES ('Testname', '123')") or die(mysql_error());

嘗試使用此方法。正確使用表名(用戶)。

mysql_query("INSERT INTO user('username', 'email') VALUES('Testname', '123')") or die(mysql_error());

在MySQL查詢中,引號(')和反引號(`)之間有所不同。 反引號用於引用表,數據庫和列的名稱。 普通引號用於表示給定值是字符串而不是引用。

因此您的查詢應如下所示

mysql_query("INSERT INTO `user` (`username`, `email`) VALUES ('Testname', '123)")

因為“用戶”是保留為“用戶名”的單詞,所以我將它們用反引號引起來,以便mysql知道它是引用,而不是函數或屬性。

與MySQL不同,PHP MYSQL中的字段名和表名不使用單引號

您可以使用

INSERT INTO user (username, email) VALUES ('Testname', '123')

要么

INSERT INTO `user` (`username`, `email`) VALUES ('Testname', '123')

代替'單引號可以使用Tiled .....

如果您不想使用它的話,那么只需使用Tiled作為查詢中的保留字,例如statusorder

並按照@Andy所說,使用mysqli驅動程序進行連接,因為在下一個版本中mysql_query將被棄用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM