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

Php 转义单引号并使用引号保存到数据库,php,mysql,Php,Mysql,例如,如何转义单引号 用户在名称字段中输入:El'art Devoun $myvar = $data['name']; //name is El'art Devoun // some code to remove the single quote 然后使用未转义的数据将其保存到数据库?使用addslashes()或mysqli\u real\u escape\u string() 使用PDO和参数化查询插入数据库。这将自动防止报价单(和其他非安全实体)中的sql注入等: 更多信息请参见这

例如,如何转义单引号

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

$myvar = $data['name']; //name is El'art Devoun
// some code to remove the single quote
然后使用未转义的数据将其保存到数据库?

使用
addslashes()
mysqli\u real\u escape\u string()


使用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();

?>