转义单引号并使用引号保存到数据库

时间:2014-03-01 04:14:13

标签: php mysql

例如,如何逃避单引号。

用户在名称字段中输入: El'art Devoun

$myvar = $data['name']; //name is El'art Devoun
// some code to remove the single quote

然后将数据保存到数据库中,数据未转义?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

为您的数据库插入使用PDO和参数化查询。这将自动阻止sql注入等引用(和其他非安全实体):

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

$stmt = $dbh->prepare("INSERT INTO yourTable (name) VALUES (:name)");
$stmt->bindParam(':name', $name);

// insert row
$name = $data['name'];
$stmt->execute();

?>

the php docs

中可以找到更多内容