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?

Was ist die Lösung für das Problem, dass der Inhalt der json_encode-Funktion in PHP einfache Anführungszeichen enthält?

WBOY
WBOYOriginal
2016-12-01 01:28:002638Durchsuche

<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?

Antwortinhalt:

<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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn