所以我试图将我的sql数据库生成为json但是表名似乎没有生成..怎么来的?我需要更改什么才能生成表名?
<?php
//Create Database connection
$db = mysql_connect("***","***","***");
if (!$db) {
die('Could not connect to db: ' . mysql_error());
}
//Select the Database
mysql_select_db("***",$db);
//Replace * in the query with the column names.
$result = mysql_query("SELECT * FROM table", $db);
//Create an array
$json_response = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$row_array['id'] = $row['id'];
$row_array['first_name'] = $row['first_name'];
$row_array['last_name'] = $row['last_name'];
$row_array['email'] = $row['email'];
$row_array['country'] = $row['country'];
$row_array['ip_address'] = $row['ip_address'];
//push the values in the array
array_push($json_response,$row_array);
}
echo json_encode($json_response);
//Close the database connection
fclose($db);
?>
已经看了几个小时,只是不知道什么是错的......
我希望你们能帮助我!
答案 0 :(得分:0)
因为数据库没有返回表名!
如果要返回它,请将$json_response
对象包装到另一个数组中。例如。
echo json_encode(array('table_name' => $json_response))
如上所述,您正在使用不安全和已弃用的mysql_ *函数。请切换到MySQLi或PDO以及准备好的语句。
答案 1 :(得分:0)
您循环查看数据库查询的结果,除非您手动将其添加到响应中,否则它不会包含表名...
$json_response = array('table' => 'table name here', 'results' => array())
;
和..
array_push($json_response['results'],$row_array);