我正在尝试根据用户输入的名称从数据库接收数据,一切正常我看到屏幕上的值并没有错误这是PHP代码:
<?php
$dbhost = "localhost";
$username = "root";
$password = "";
mysql_connect($dbhost,$username,$password);
@mysql_select_db("trynew") or die(mysql_error());
$user ="mon";
$query = "SELECT * FROM trynewtable where name = '$user' ";
$all_result = array();
$result = mysql_query($query);
if($result==FALSE)
{
die(mysql_error());
}
while($row = mysql_fetch_array($result))
{
$all_result[] = $row;
}
header('Content-Type: application/json');
$jsondata = json_encode($all_result);echo $jsondata;
mysql_close();
?>
但是我在html div上看到的输出是:
[{"0":"1","id":"1","1":"mon","Name":"mon","2":"26","Age":"26","3":"F","Gender":"F"}]
存储在数据库中的实际数据是: 数据库中的实际数据
请让我知道我做错了什么?
答案 0 :(得分:5)
您正在使用mysql_fetch_array()
,它将返回数据库中数字键控和关联数据数组。使用mysql_fetch_assoc()
或mysql_fetch_array()
和MYSQL_ASSOC
作为第二个参数来获取关联数组。
while($row = mysql_fetch_assoc($result))
或
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
仅供参考,mysql_ API为deprecated且为removed in PHP 7。