我有一个PHP数组,我想编码为JSON,以便稍后我可以在我的JavaScript文件中传递它。
当我尝试时,JavaScript输出:
“SyntaxError:意外的令牌N”
然后我尝试在PHP中回显这个JSON字符串并输出:
NULL
{
"cg": "3",
"cb": 0,
"cc": "0%",
"ci": "0",
"wm": 0,
"tl": "120"
}
为什么有NULL? 这是我的代码:
$table = array(
"cg" => $v1,
"cb" => $v2,
"cc" => $v3,
"ci" => $v4,
"wm" => $v5,
"tl" => $v6
);
echo json_encode($table);
编辑以解决评论:
在数据库中,$ v1是varchar(255),$ v6是int(11)
该值的检索方式如下:
function fetchinfo($rowname,$tablename,$finder,$findervalue) {
if($finder == "1") $result = mysql_query("SELECT $rowname FROM $tablename");
else $result = mysql_query("SELECT $rowname FROM $tablename WHERE `$finder`='$findervalue'");
$row = mysql_fetch_assoc($result);
return $row[$rowname];
}
然而情况并非总是如此,有时值可以是一个简单的字符串: $ v6 =“120”;
答案 0 :(得分:-1)
假设变量的值如上面的json数据所示,我无法重现错误 - 似乎没问题。
$v1=3;
$v2=0;
$v3='%0';
$v4=0;
$v5=0;
$v6=120;
$table = array(
"cg" => $v1,
"cb" => $v2,
"cc" => $v3,
"ci" => $v4,
"wm" => $v5,
"tl" => $v6
);
echo json_encode( $table );
/*
{"cg":3,"cb":0,"cc":"%0","ci":0,"wm":0,"tl":120}
*/