SQL不使用的字符

时间:2014-08-09 01:50:01

标签: php mysql sql

我创建了一个php类,当我传入一个查询并在查询中使用多个参数时,它会为我执行查询。在查询字符串中,我想引用我传入的其他参数,而不是使用$ user,$ password等,例如

select * from info where user_id = &param1

但是,出于显而易见的原因,我不想在SQL语句中使用任何重要字符。我应该使用什么字符来表示查询字符串中的查询参数?

2 个答案:

答案 0 :(得分:1)

除了戈登所说的,你还应该注意撇号'。如果你真的想写它,你必须加倍。

"John O'Brien"变为"John O''Brien"

答案 1 :(得分:0)

评论时间有点长。

在MySQL中有许多字符未使用或很少使用:'#','!' ,,'〜&#39 ;和' ^'例如。

但是,我可能会建议您在参数值的开头 end 处对某个字符执行某些操作。例如,' {'和'}'。

这是基于我将参数放入查询的经验。如果您打算使用直接字符串替换,那么' @ X'和' @XX'可能会相互干扰 - 如果你在第二个之前更换第一个。使用分隔名称,例如' {X}'和' {XX}',这不会发生。

当然,你可能有一个比简单替换字符串更复杂的解析器(这是一个好主意,因为任何东西 - 几乎 - 可以出现在字符串常量中)。如果是这样,那么这种考虑可能不是问题。