MySql选择引号

时间:2013-07-11 09:29:39

标签: php mysql

我有以下代码:

$query = "SELECT `email` FROM `user` WHERE `email` = " . mysql_real_escape_string($this->email) . "";

我不知道应该使用什么样的引号,因为它不起作用。

5 个答案:

答案 0 :(得分:2)

应使用单引号:

$query = "SELECT `email` FROM `user` WHERE `email` = '" . mysql_real_escape_string($this->email) . "'";

答案 1 :(得分:1)

无,您应该使用占位符,然后允许数据库库/服务器处理数据的转义和引用(如How to prevent SQL injection in PHP?中所述)。

答案 2 :(得分:0)

尝试使用single quotes('')

$query = "SELECT `email` FROM `user` WHERE `email` = '" . mysql_real_escape_string($this->email) . "'";

答案 3 :(得分:0)

$query = "SELECT `email` FROM `user` WHERE `email` = " . mysql_real_escape_string($this->email) . "";

应该是

$query = "SELECT `email` FROM `user` WHERE `email` = '" . mysql_real_escape_string($this->email) . "'";

答案 4 :(得分:0)

构建查询的方法有很多种。您选择了合法的原始方法,但您使用的扩展名已被标记为已删除。我建议调查mysqli和PDO。

为了你的答案。

$query = "SELECT `email` FROM `user` "
       . "WHERE `email` = '" . mysql_real_escape_string($this->email) . "'";