我是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? –