Heim > Artikel > Backend-Entwicklung > Was ist die Lösung für das Problem, dass der Inhalt der json_encode-Funktion in PHP einfache Anführungszeichen enthält?
<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>
Wie wird es normalerweise gelöst? Einfache Anführungszeichen direkt ersetzen?
<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>
Wie wird es normalerweise gelöst? Einfache Anführungszeichen direkt ersetzen?
mysqli_real_escape_string()
PDO::quote
mysql_real_escape_string
Versuchen Sie, kein String-Spleißen zu verwenden, sondern verwenden Sie stattdessen PDO und MYSQLi mit dem Mechanismus „Prepared Statement“
Entkommen und retten