如何使用php在mysql中存储json字符串

如何使用php在mysql中存储json字符串,php,jquery,mysql,json,Php,Jquery,Mysql,Json,我想将我的JSON字符串存储到数据库中,但当我给JSON字符串时,它不起作用,但当我给简单值时,它起作用 这就是我正在做的 // $data contain json string // info is a TEXT type in mysql $q = "Update user set info = $data where userid = $id"; $sql= $this->db->query($q); 缺少$data和$id周围的引号。在连接变量之前,需要关闭字符串,如下

我想将我的JSON字符串存储到数据库中,但当我给JSON字符串时,它不起作用,但当我给简单值时,它起作用

这就是我正在做的

// $data contain json string 
// info is a TEXT type in mysql
$q = "Update user set info = $data where userid = $id";
$sql= $this->db->query($q);

缺少$data和$id周围的引号。在连接变量之前,需要关闭字符串,如下所示:

$q = "Update user set info = '". $data."' where userid = '". $id."'";
$sql= $this->db->query($q);

您应该检查错误日志或启用display_errors来查看查询失败的位置,但我猜您可能只需要将数据字段用引号括起来。试试这个:

// $data contain json string 
// info is a TEXT type in mysql
$q = "Update user set info = '$data' where userid = $id";
$sql= $this->db->query($q)

缺少引号您需要将$data放入引号
'$data'
*cough*使用准备好的语句*cough*如果您的类还没有这样做,您可能还希望转义数据字符串。(mysql\u real\u escape\u字符串)