我创建了一个php类,当我传入一个查询并在查询中使用多个参数时,它会为我执行查询。在查询字符串中,我想引用我传入的其他参数,而不是使用$ user,$ password等,例如
select * from info where user_id = ¶m1
但是,出于显而易见的原因,我不想在SQL语句中使用任何重要字符。我应该使用什么字符来表示查询字符串中的查询参数?
答案 0 :(得分:1)
除了戈登所说的,你还应该注意撇号'
。如果你真的想写它,你必须加倍。
"John O'Brien"
变为"John O''Brien"
答案 1 :(得分:0)
评论时间有点长。
在MySQL中有许多字符未使用或很少使用:'#','!' ,,'〜&#39 ;和' ^'例如。
但是,我可能会建议您在参数值的开头和 end 处对某个字符执行某些操作。例如,' {'和'}'。
这是基于我将参数放入查询的经验。如果您打算使用直接字符串替换,那么' @ X'和' @XX'可能会相互干扰 - 如果你在第二个之前更换第一个。使用分隔名称,例如' {X}'和' {XX}',这不会发生。
当然,你可能有一个比简单替换字符串更复杂的解析器(这是一个好主意,因为任何东西 - 几乎 - 可以出现在字符串常量中)。如果是这样,那么这种考虑可能不是问题。