【发布时间】:2017-01-23 18:34:01
【问题描述】:
我的代码需要帮助。我一直在寻找引用相同问题的问题。但我什么都没找到。
问题是它在输出中没有显示任何内容。 (字面上什么都没有,只是一个空白页。)所有的主机、用户、密码、数据库名和查询都很好。我对它们进行了三次检查。
这是我的代码:
<?php
define('HOST', 'host');
define('USER', 'user');
define('PASS', 'root');
define('DB', 'database');
$con = mysqli_connect(HOST,USER,PASS,DB);
$sql = "SELECT * FROM teams";
$res = mysqli_query($con,$sql);
$result = array();
while($row = mysqli_fetch_array($res)){
array_push($result, array(
'id_team'=>$row[0],
'name'=>$row[1]
));
}
echo json_encode(array("result"=>$result));
mysqli_close($con);
?>
我使用了var_dump($result);,它向我展示了完整的数组,如下所示:
array(134) { [0]=> array(4) { ["id_team"]=> string(1) "3" ["name"]=> 字符串(6)“Baddis”} [1]=> 数组(4){ [“id_equipo”]=> 字符串(1)“4” ["name"]=> string(6) "组合"}
假设我必须收到如下输出:
[ {"id_team":"3","name":"Baddis"}, {"id_team":"4","name":"Combis"} ]
所以,我不知道我缺少什么或我的代码有什么问题。有人可以帮我吗?
编辑 2: 我使用了另一个简单的代码,但它是一样的,我不能得到超过 X 的输出。我的数据库中有 135 行,我只能检索 70 个团队的 4 列,如果我删除一列,我可以得到 80 个团队,这就像一个限制或最大字符之类的东西......仍然有同样的问题:
<?php
$query=mysql_query("SELECT id_team,name,cat,tel FROM teams")
while($row=mysql_fetch_assoc($query))
$array[]=$row;
print(utf8_encode($array));
mysql_close();
?>
【问题讨论】:
-
你试过 $result = json_enocde(mysqli_fetch_assoc($res)); var_dump($result); ??
-
@Kaylined - 刚刚尝试过,但现在我得到的输出与以前几乎相同,但 db 值不完整,我每行只收到 1 个字母。
-
如果你做 echo json_encode($result); 怎么办?