我是MySQL查詢新手。這是我到目前爲止我做錯了什麼?PHP/SQL - 語法錯誤
"INSERT INTO users (ip) WHERE id = '".$_SESSION["user"]["id"]."'
VALUES ('$ip')"
編輯
我只是問我的語法怎麼是錯誤的。我瞭解這些漏洞,並沒有將它們粘貼到我的問題中。我正在使用PDO庫和mysql_real_string_escape WHENEVER我可以...
我是MySQL查詢新手。這是我到目前爲止我做錯了什麼?PHP/SQL - 語法錯誤
"INSERT INTO users (ip) WHERE id = '".$_SESSION["user"]["id"]."'
VALUES ('$ip')"
編輯
我只是問我的語法怎麼是錯誤的。我瞭解這些漏洞,並沒有將它們粘貼到我的問題中。我正在使用PDO庫和mysql_real_string_escape WHENEVER我可以...
INSERT查詢是錯誤的。我認爲你正在更新的東西,你需要使用更新查詢
UPDATE users SET ip = '$ip' WHERE id = '".$_SESSION["user"]["id"]."'
還努力修復SQL注入攻擊。
我該如何解決SQL注入問題? MySQL真正的字符串轉義? –
是的,使用mysql實際字符串轉義 –
使用'PDO_MYSQL',它比'mySQL'更安全。 [PDO_MYSQL](http://php.net/manual/en/ref.pdo-mysql.php)也檢查這個SO發佈表單更多信息[MySQL與PDO](http://stackoverflow.com/questions/866860/ MySQL的抗PDO) –
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
WHERE column_name operator value
INSERT INTO users (ip)
VALUES ('value to insert')
或
UPDATE users
SET ip = 'value to update'
WHERE ip = 'value to check'
此外,包住value to update
和value to insert
在PHP mysqli_real_escape_string($DB,$val)
** **警告你的代碼是非常容易受到SQL注入攻擊。 –
嘗試使用$ _SERVER [「REMOTE_ADDR」]並將其放入我的數據庫的IP字段中。如果他們已經登錄,我使用與數據庫中的ID相對應的用戶ID指示要指定哪一行。 –
INSERT INTO ... WHERE? –