即使参数始终相同,我是否应该为每个参数使用占位符?那么空值怎么样?我是否也应该为他们使用占位符?我应该声明哪些参数为sql占位符?
我有兴趣避免准备并启用查询的缓存。我使用mysql,php和pdo,但我认为这与其他数据库也是一样的。安全不是一个交易,因为问题中的参数是硬编码的。
案例1:我应该使用占位符进行可视性还是硬编码值1更好? select * from where where visibility = 1 and product =:id
案例2:我应该使用null的占位符吗? (对于两种情况它是一样的) select * from t1 where color is null update t1 set color = null where product =:id
'这些例子被简化了.'这是你的错。以及误导'我有兴趣避免准备''当'通常都有动态变化和无变化的变量'时,这种说法不可能是真实的。'你必须改写你的问题以使它不那么模糊。并且没有空值的占位符,如果这是您的问题 –
抱歉。我不想让你生气:( – viljun
我没有生气有点:)只是我想说的是:你必须改写你的问题,使其不那么模糊。如果你有:id动态,没有办法逃避绑定,不是吗?那么,那么问题是什么? –