我有以下代码:
$query = "SELECT `email` FROM `user` WHERE `email` = " . mysql_real_escape_string($this->email) . "";
我不知道应该使用什么样的引号,因为它不起作用。
答案 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) . "'";