$sql = 'SELECT CONCAT("[", GROUP_CONCAT(CONCAT("{username:'",username,"'"), CONCAT(",email:'",email),"'}")), "]")
AS json
FROM users;'
$msl = mysql_query($sql)
print($msl["json"]);
基本上:
"SELECT" Select the rows
"CONCAT" Returns the string that results from concatenating (joining) all the arguments
"GROUP_CONCAT" Returns a string with concatenated non-NULL value from a group
$rows = array();
if (mysql_num_rows($result) > 0) {
while($r = mysql_fetch_assoc($result)) {
$id = $r["USERID"]; //a column name (ex.ID) used to get a value of the single row at at time
$rows[$id] = $r; //save the fetched row and add it to the array.
}
}
echo json_encode($rows);
// Code of Conversion
$query = "SELECT * FROM products;";
$result = mysqli_query($conn , $query);
if ($result) {
echo "</br>"."Results Found";
// Conversion of result object into JSON format
$rows = array();
while($temp = mysqli_fetch_assoc($result)) {
$rows[] = $temp;
}
echo "</br>" . json_encode($rows);
} else {
echo "No Results Found";
}
6
码:
$rows = array();
while($r = mysqli_fetch_array($result,MYSQL_ASSOC)) {
$row_array['result'] = $r;
array_push($rows,$row_array); // here we push every iteration to an array otherwise you will get only last iteration value
}
echo json_encode($rows);
2
$rows = json_decode($mysql_result,true);
就如此容易 :-)
15
$array = array();
$subArray=array();
$sql_results = mysql_query('SELECT * FROM `location`');
while($row = mysql_fetch_array($sql_results))
{
$subArray[location_id]=$row['location']; //location_id is key and $row['location'] is value which come fron database.
$subArray[x]=$row['x'];
$subArray[y]=$row['y'];
$array[] = $subArray ;
}
echo'{"ProductsData":'.json_encode($array).'}';
20 回答
我们可以像这样简化 Paolo Bergantino 答案
如何使用MySQL数据库中的数据创建JSON
JSON(JavaScript Object Notation)现在比XML更受欢迎,因为它轻量级,可读且易于管理,可以跨各种平台交换数据 . 我们将看到如何从存储在MySQL数据库中的Employee表创建JSON数据 .
直播:[Example]
函数
json_encode
需要PHP> = 5.2和 php-json 包 - 如上所述here注意:自PHP 5.5.0起,不推荐使用
mysql
,使用mysqli
扩展名而不是http://php.net/manual/en/migration55.deprecated.php .试试这个,这将正确创建你的对象
http://www.php.net/mysql_query说“
mysql_query()
返回资源” .http://www.php.net/json_encode表示它可以编码任何值"except a resource" .
您需要迭代并收集数组中的数据库结果,然后
json_encode
数组 .谢谢,这对我帮助很大 . 我的代码:
谢谢..我的回答是:
根据我的经验,在将数组中的根元素命名为某些内容之前,上述操作无效,在此之前我无法访问最终json中的任何内容 .
这应该够了吧!
平价
下面的代码在这里工作正常!
我的简单修复就是阻止它将语音标记放在数字值周围......
对不起,这个问题过了很长时间,但是:
基本上:
aarray_push($rows,$row_array); 帮助构建数组,否则它在while循环中给出最后一个值
这个工作像 append StringBuilder 的方法 java
使用FOR循环的另一个选项:
唯一的缺点是循环比较慢,例如虽然或特别是foreach
例如$ result = mysql_query(“SELECT * FROM userprofiles,其中NAME ='TESTUSER'”);
1.)如果$ result只有一行 .
2.)如果$ result超过一行 . 您需要迭代行并将其保存到数组中并返回带有数组的json .
我这样解决了
这将作为结果集返回到ajax,并在javascript部分中使用json parse,如下所示:
我有同样的要求 . 我只想将结果对象打印成JSON格式,所以我使用下面的代码 . 我希望你能找到一些东西 .
码:
就如此容易 :-)
使用mysql_fetch和json_encode检查下面的代码 . 您将需要遍历行,但如果您使用mysqli,情况将会改变