<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來取代
轉義之後保存