如果我有一个用户的电子邮件地址作为d'[email protected]我使用和addslashes使其d \'[email protected],则以下SQL语句失败。单引号导致更新SQL失败
"UPDATE subscriptions SET sent = '1' WHERE email ='" . $email . "' Limit 1";
数据库作为电子邮件地址是d \'[email protected]。为什么UPDATE失败?
如果我有一个用户的电子邮件地址作为d'[email protected]我使用和addslashes使其d \'[email protected],则以下SQL语句失败。单引号导致更新SQL失败
"UPDATE subscriptions SET sent = '1' WHERE email ='" . $email . "' Limit 1";
数据库作为电子邮件地址是d \'[email protected]。为什么UPDATE失败?
使用预准备语句和参数绑定完全避免了这类问题。 MySQLi和PDO扩展都提供了这种功能。 – Phil