我一直在用xml来解析。虽然我可以很好地将我的数据插入到mysql数据库中,但只要有撇号,我就无法收到。我正在使用
stringByAddingPercentEscapesUsingEncoding : NSUTF8StringEncoding
用于插入,成功将其放入'。然而,当我尝试选择时,mysql会感到困惑,并且没有任何回应。有没有办法在将撇号发送到数据库之前用可识别的东西替换它,然后在接收时将其解析回正确的格式?
答案 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
}