使用select命令时允许mysql识别撇号

时间:2013-04-13 00:48:17

标签: php mysql ios xml parsing

我一直在用xml来解析。虽然我可以很好地将我的数据插入到mysql数据库中,但只要有撇号,我就无法收到。我正在使用

stringByAddingPercentEscapesUsingEncoding : NSUTF8StringEncoding 

用于插入,成功将其放入'。然而,当我尝试选择时,mysql会感到困惑,并且没有任何回应。有没有办法在将撇号发送到数据库之前用可识别的东西替换它,然后在接收时将其解析回正确的格式?

1 个答案:

答案 0 :(得分:3)

您需要使用this answer。您需要参数化MySQL查询,这样您就不会受到SQL injection的攻击。<​​/ p>

使用PDO的示例:

$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');

$stmt->execute(array(':name' => $name));

foreach ($stmt as $row) {
    // do something with $row
}

使用mysqli的示例:

$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->bind_param('s', $name);

$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // do something with $row
}