簡體   English   中英

在SQL中使用PHP變量

[英]Using PHP variables in SQL

我正在嘗試在INSERT SQL語句中使用PHP變量。 我已經看過以前的答案,但是無法讓我工作。 這是代碼。

mysql_query("INSERT INTO message (message_id, from, content) values ('', " . $uid . ", 'test message content')");

主要問題是from保留字 ,應該放在反引號中。

mysql_query("INSERT INTO message (message_id, `from`, content) VALUES ...");

但我也建議您停止使用不推薦使用的mysql_*函數。 我建議您看一下PDO和帶參數的預備語句。

如果message_id是主鍵,則除非有值,否則無需在查詢中包括它。

mysql_query("INSERT INTO message (`from`, `content`) values (" . $uid . ", 'test message content')");

您的查詢中至少有三個問題。 其中兩個是語法錯誤,一個是巨大的漏洞。

為了使查詢正常工作,您應該編寫如下:

mysql_query("INSERT INTO message (message_id, `from`, content) values ('', '" . $uid . "', 'test message content')");`

以下是錯誤的摘要:
-正如另一個用戶指出的那樣,“ from”是關鍵字,您不應使用它來命名表列。 如果您確實要使用這樣的名稱,則必須使用反引號在查詢中進行指示。
-$ uid的值應用單引號引起來。
-第三個也是最重要的錯誤是您的查詢容易受到SQL Injection的攻擊。 您應該使用准備好的語句,這樣可以保護您免受此類攻擊。

暫無
暫無

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

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