相关疑难解决方法(0)

如何在PHP中阻止SQL注入?

如果插入用户输入而不修改SQL查询,则应用程序容易受到SQL注入的攻击,如下例所示:

$unsafe_variable = $_POST['user_input']; 

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
Run Code Online (Sandbox Code Playgroud)

这是因为用户可以输入类似的内容value'); DROP TABLE table;--,查询变为:

INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')
Run Code Online (Sandbox Code Playgroud)

可以采取哪些措施来防止这种情况发生?

php mysql sql security sql-injection

2776
推荐指数
28
解决办法
166万
查看次数

由于在MySQL中使用保留字作为表或列名称而导致语法错误

我正在尝试执行一个简单的MySQL查询,如下所示:

INSERT INTO user_details (username, location, key)
VALUES ('Tim', 'Florida', 42)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

错误1064(42000):您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便'key) VALUES ('Tim', 'Florida', 42)'在第1行附近使用正确的语法

我该如何解决这个问题?

mysql reserved-words

48
推荐指数
1
解决办法
13万
查看次数

标签 统计

mysql ×2

php ×1

reserved-words ×1

security ×1

sql ×1

sql-injection ×1