【发布时间】:2016-08-17 13:10:41
【问题描述】:
$type_of_poker = "hold'em no limit";
$sql = "INSERT INTO hands (type_of_poker) VALUES ('$type_of_poker')";
我试图将hold'em no limit 放入 SQL 数据库,但它不会让我
使用' 我无法上传holdem no limit 来获取一长串必须做的事情
与我的其余代码。
【问题讨论】:
-
我很困惑为什么这被标记为 SQL 注入问题的重复项。对我来说,这显然是在寻求一种在不破坏他的 SQL 语句的情况下编写
hold'em的方法...... -
你迫切需要阅读proper escaping methods,如果可以的话,应该使用prepared statements。
-
@tadman
$type_of_poker = "hold''em no limit";会是正确的解决方案吗?我读到这是在 SQL 中转义单引号的方法,我还没有读过其他方法,不确定 \' 是否可行,因为它也可能被视为文本。 -
@Webeng 您不必担心如何逃避事情。相信数据库驱动程序会为您完成。在这种情况下,解决方案一如既往地是准备好的语句。它们意味着您不必猜测该怎么做。
-
@tadman 等等...如果我准备语句并绑定参数
$type_of_poker = "hold'em no limit"那么我什至不需要转义撇号?