2013-07-24 107 views

回答

0

使用mysql_real_escape_string()

UPDATE `subscriptions` SET `sent` = '1' WHERE `email` ='" . mysql_real_escape_string($email) . "' Limit 1"; 

注意使用mysql_real_escape_string:mysql_ *现在已经贬值。使用MySQLi

+0

你知道MySQL扩展已被弃用,对吧?看到[本页顶部]的警告(http://www.php.net/manual/intro.mysql.php) – Phil

+0

是的,坏习惯很难死。仍然试图去适应它。 :) –

3

在添加查询之前,总是总是转义字符串。

"UPDATE subscriptions SET sent = '1' WHERE email ='" . $dbconn->real_escape_string($email) . "' Limit 1"; 

如果您使用原来的mysql的API,那么你会在地方的$dbconn->real_escape_string

+0

完全是我刚才说的! – pattyd

+0

我宁愿你说*“总是,总是使用准备好的语句和参数绑定”* – Phil

+0

@Phil我的理解是,当你多次运行类似的查询时,准备好的语句更有意义。还有什么好处? – Jasper