<code><?php $arr = [ "title" => "测试一下'单引'号保存问题", "name" => "tom" ]; $str = json_encode($arr); print_r($str); //将$str保存到数据库中,发现单引号失败; $sql = "UPDATE test SET str='" . $str . "' WHERE id=1"; $db->query($sql); ?> </code>
一般如何解决的?直接替换单引号?
<code><?php $arr = [ "title" => "测试一下'单引'号保存问题", "name" => "tom" ]; $str = json_encode($arr); print_r($str); //将$str保存到数据库中,发现单引号失败; $sql = "UPDATE test SET str='" . $str . "' WHERE id=1"; $db->query($sql); ?> </code>
一般如何解决的?直接替换单引号?
mysqli_real_escape_string()
PDO::quote
mysql_real_escape_string
尽量不要使用字符串拼接,使用拥有Prepared Statement机制的PDO和MYSQLi来代替
转义之后保存