在什么条件下我需要在PHP的Mysql语句中单引号变量?

时间:2009-12-22 01:08:48

标签: mysql

在什么条件下我需要在PHP的Mysql语句中单引号变量?

3 个答案:

答案 0 :(得分:1)

理论上我只考虑varchars,text和BLOB,但我说引用它们全部。顺便说一句,这与PHP无关,只与构建mySQL查询的方式有关,除非你的意思完全不同。

答案 1 :(得分:1)

如果您将值直接放在查询中,如SELECT * FROM users WHERE age > 25中所示,则单引号仅用于字符串。如果您编写SELECT * FROM users WHERE age > '25',查询的工作方式相同,但是您强制MySQL将字符串转换为整数(如果该字段是整数),这是不必要的操作。

答案 2 :(得分:0)

不是直接的答案,但我建议像Zend DB这样的数据库类与您的数据库进行交互。我发现这是一个很好的方法来抽象出一些笨拙的工作,比如弄清楚如何处理变量。

例如:

$db->select()->from('users', array('uid'))->where('email = ?', $indata['email'])->where('actkey = 0')

制作一个更清晰的查询,而不是手工构建相同的内容,并且还可以使这些变量比我更安全。

希望这是有用的信息。