$sql="select * from table1";
$query=mysqli_query($cn,$sql);
while($result=mysqli_fetch_assoc($query)){
$output[]=$result; }
print(json_encode($output));
如上代码,此时页面为空,没有输出任何数据。但是当我把最后一句换为print_r($output)时却是可以输出查询到的多行数据。或者修改sql语句使得查询结果只有一行时,此时print(json_encode($output))也是可以输出该行数据的。想问问大神这是为什么,为什么结果为多行时用json_encode($output)是空的。
$query=mysqli_query($cn,$sql);
while($result=mysqli_fetch_assoc($query)){
$output[]=$result; }
print(json_encode($output));
如上代码,此时页面为空,没有输出任何数据。但是当我把最后一句换为print_r($output)时却是可以输出查询到的多行数据。或者修改sql语句使得查询结果只有一行时,此时print(json_encode($output))也是可以输出该行数据的。想问问大神这是为什么,为什么结果为多行时用json_encode($output)是空的。
解决方案 »
- 关于转义函数 get_magic_quotes_gpc 说不清楚,内详。
- php6 和 php5有什么不同?
- mysql_field_len()方法传入的列如果是varchar型的,为什么长度会变
- $rs = mysql_query("select count(*) from guestbook"); 会报错误
- 求csdn下载资源区的一个文件
- 遇到下面啷个办呢?php_network_getaddresses??
- mysql 4,1 大家都把数据库设成什么字符集?
- 怎么用php+linux+Oracle作个计算机统计查询系统
- 关于phplib几个疑问(很菜的)?
- js的一些问题
- php session问题,急。
- 关于echo语句输出html语句在手机浏览器上的问题
print只能打印出简单类型变量的值(如int,string)
print_r可以打印出复杂类型变量的值(如数组,对象) echo -- 输出一个或者多个字符串
Description
void echo ( string arg1 [, string ...] ) //返回值为空
echo "你好"," 朋友";
print --输出一个字符串
Description
int print ( string arg )//返回值为整形
print "你好朋友"; 可以进行下面操作
$name=print "nihao \n";
$str = 'test print value is $name .';
eval("$print=\"$str\";");
echo $print; print_r -- 打印关于变量的易于理解的信息。
bool print_r ( mixed expression [, bool return] ) //返回值是布尔型的,参数是mix类型的,可以是字符串,整形,数组,对象类print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
print_r() 将把数组的指针移到最后边。
你可以
print_r(str);
print_r(int);
print_r(array);
print_r(obj);
也可以用var_dump var_export
gbk 中文中,有不少文字组合恰好符合 utf-8 的编码规则,从而不发生错误(实际是一种误判)
当然是数据越少,误判的几率越大json_encode 只能处理 utf-8 数据
json_encode只能处理utf8的数据
2.字符串里面有包含换行等特殊字符,需要转义以后才能正确转为json
类似于这样
$file_contents = preg_replace("/[\r\n]/", '', $file_contents);