1

当字符串中存在不匹配的“'”时,从 php 发送 sql 更新查询时,撇号可能会很痛苦。克服这个问题的最佳实践是什么?

谢谢

4

2 回答 2

6

PDO:

$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');
$stmt->execute(array(':username' => $_GET['username']));

MySQLi:

$query = $mysqli->prepare('SELECT * FROM users WHERE username = s');
$query->bind_param('s', $_GET['username']);

这些扩展具有用于创建准备好的查询的内置函数,使您可以毫无问题地使用引号和撇号。

于 2013-01-05T16:14:41.643 回答
1

我认为最好的做法是使用准备好的语句,但你也可以使用addslashes($string)andstripslashes($string)函数。

于 2013-01-05T16:10:03.027 回答