Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从数据库解码的JSON字符串返回NULL_Php_Mysql_Sql_Json_Google Api - Fatal编程技术网

PHP从数据库解码的JSON字符串返回NULL

PHP从数据库解码的JSON字符串返回NULL,php,mysql,sql,json,google-api,Php,Mysql,Sql,Json,Google Api,我有自己的网站,使用谷歌CSE(定制搜索引擎)的API,因为谷歌限制免费用户每天100次调用,所以我想将谷歌API的JSON结果存储到我的数据库中,以便保存我每天100次的调用配额,所以当API调用时,我只从我的数据库中获取 我想将数据库中的JSON打印到循环中 <?php $search = mysql_query("SELECT * FROM jsondata WHERE id_jsondata = 1"); $jsondata = mysql_fetch_assoc($search)

我有自己的网站,使用谷歌CSE(定制搜索引擎)的API,因为谷歌限制免费用户每天100次调用,所以我想将谷歌API的JSON结果存储到我的数据库中,以便保存我每天100次的调用配额,所以当API调用时,我只从我的数据库中获取

我想将数据库中的JSON打印到循环中

<?php
$search = mysql_query("SELECT * FROM jsondata WHERE id_jsondata = 1");
$jsondata = mysql_fetch_assoc($search);
$json = json_decode($jsondata['jsondata'], true);
foreach ($json as $data) {
echo $data['link'];
}
?>
更新: 看起来好像是因为JSON数据写得不好 例如,现在我正在努力删除数据中的“(引号符号)

"snippet":"This video was taken from a facebook page, named "Dream Team Gaming"."

您的json数据无效且不完整。您必须清除所有错误的反斜杠(\)并完成数据。如果json字符串无效,json_decode命令将返回null。您可以在

上验证您的json数据,无论您在此处给出什么json,它是否在$jsondata['jsondata']中或者是$jsondata?@AshwinKJoseph举个例子,我有一个名为jsondata的表,它有id_jsondata和jsondata列。您的json数据是错误的,可能是因为列的长度太短,无法存储完整的json字符串。@RazonYang列的长度没有问题,我使用的是长文本格式。
snippet和
htmlSnippet
。如果我删除它们,我可以将您的json输入并验证它。
"snippet":"This video was taken from a facebook page, named "Dream Team Gaming"."