Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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:结果为空时打印空白页_Php_Mysql_Json - Fatal编程技术网

PHP JSON:结果为空时打印空白页

PHP JSON:结果为空时打印空白页,php,mysql,json,Php,Mysql,Json,我有这段代码,用于使用phpjson方法从MySql数据库获取数据 $ret = array(); if(isset($_GET['userid'])){ $user = detect_attakcs($_GET['userid']); $sql = DataSQL::FETCH("SELECT image FROM news WHERE user = ? ",$user); foreach($sql as $value){ $ret[] = $value['image']; } echo j

我有这段代码,用于使用phpjson方法从MySql数据库获取数据

$ret  = array();
if(isset($_GET['userid'])){
$user = detect_attakcs($_GET['userid']);
$sql = DataSQL::FETCH("SELECT image FROM news WHERE user = ? ",$user);
foreach($sql as $value){
$ret[] = $value['image'];
}
echo json_encode($ret);
}
如果结果不为空,则输出:

["1.jpg","member_ph.png","user.jpg"] 
无结果时输出(空)

现在,当结果空时,我需要打印空白页,而不是打印
[“”]


我该如何解决这个问题?

从评论中可以清楚地看出,询问者从不想显示
[“”]
,并且添加到
$ret
的条目可能是空的,在这种情况下,我们也不想显示任何JSON。让我们检查是否只将数据添加到非空的
$ret
。然后,我们检查
$ret
是否正确


或者,如果我们有很多复杂的条件,其中输出是
[“”]
,我们可以检查输出是否是
[“”]
,并且只在不等于该值的情况下输出。不过,这可能仍然会输出类似的空值

   $json_output = json_encode($ret);
   if ($json_output != '[""]') {
       echo $json_output;
   }
试试这个:

echo empty($ret) ? '' : json_encode($ret);

希望有帮助。

我喜欢函数名
检测\u攻击
。我得记住那个名字。是的,名字很有趣。我想知道里面有什么<代码>$user=inval($\u GET['userid'])就足够了。它可能没有拼写错误。这就是
攻击
在他的语言中的方式。这不好。当没有结果时,他想要一个空数组。@machineaddict OP说:“现在,当结果为空时,我需要打印空白页,而不是打印
[“”]
”(强调我的)。@ljacqu:这是错误的
if(count($ret)==0){echo json_encode($ret);}
OP说:如果结果为空则打印空白页,否则打印结果@ღ..桑博拉。。ღ: 你说得对。此代码不适用于me@ljacqu:不工作。我认为count不能与$ret
数组一起使用。你能测试你的代码吗?
   $json_output = json_encode($ret);
   if ($json_output != '[""]') {
       echo $json_output;
   }
echo empty($ret) ? '' : json_encode($ret);