相关疑难解决方法(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表或更新(如果存在)

我想在数据库表中添加一行,但如果存在具有相同唯一键的行,我想更新该行.

例如,

insert into table (id, name, age) values(1, "A", 19)
Run Code Online (Sandbox Code Playgroud)

假设唯一的密钥是id,在我的数据库中有一行id = 1.在这种情况下,我想用这些值更新该行.通常这会产生错误.如果我使用insert IGNORE它将忽略错误,但它仍然不会更新.

mysql sql upsert insert-update

821
推荐指数
12
解决办法
78万
查看次数

db2相当于MySql REPLACE INTO

我喜欢MySql的REPLACE INTO table一个非常有用的陈述是“替换一个值if-exist或INSERT INTO表If-Not-Exist”。

db2的文档 REPLACE仅针对在字符串上操作的函数,因此不具有该含义。

db2中有任何等效项吗?现在我也在寻找关键词IF EXSTS/IF NOT EXIST

mysql sql db2

3
推荐指数
1
解决办法
2188
查看次数

标签 统计

mysql ×3

sql ×3

db2 ×1

insert-update ×1

php ×1

security ×1

sql-injection ×1

upsert ×1