首頁  >  文章  >  後端開發  >  php中json_encode函數內容包含有單引號內容的解決方法?

php中json_encode函數內容包含有單引號內容的解決方法?

WBOY
WBOY原創
2016-12-01 01:28:002635瀏覽

<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來取代

轉義之後保存

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn