php - 从 MySQL 中提取数据到 json 数组

标签 php mysql json

我正在尝试使用 php 中的 json 从我的数据库中提取数据。我需要指定一些元素,然后将它们发布到页面上。

我想从 mysql 中“获取”数据并将其返回给 json_encode。我如何使用 SELECT 方法执行此操作。有些人使用了 PDO 方法,而其他人使用了 mysql_assoc,这让我很困惑。

例如,

我有以下行:'id'、'title'、'start'、'backgroundColor'...等。以及所有这些的默认值。 ($array[] = "someValue = default")

我希望它像这样导出:

array(
      'id' => 1,
      'title' => "someTitle",
      'start' => "2012-04-16",
      'backgroundColor' => "blue",
      'someValue' = > "default",
      ...
      ),   ....
 ));

如果有人能以最详细的方式帮助我解决这个问题,我会很棒!

最佳答案

如果您想使用 PDO 执行此操作,那么这里有一个示例:

<?php 
$dbh = new PDO("mysql:host=localhost;dbname=DBNAME", $username, $password);

$sql = "SELECT `id`, `title`, `time`, `start`, `backgroundColor` 
        FROM my_table";

$result = $dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
//To output as-is json data result
//header('Content-type: application/json');
//echo json_encode($result);

//Or if you need to edit/manipulate the result before output
$return = [];
foreach ($result as $row) {
    $return[] = [ 
        'id' => $row['id'],
        'title' => $row['title'],
        'start' => $row['start'].' '.$row['time'],
        'backgroundColor' => $row['backgroundColor']
    ];
}
$dbh = null;

header('Content-type: application/json');
echo json_encode($return);
?>

关于php - 从 MySQL 中提取数据到 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10184655/

相关文章:

php - PHP和MYSQL中2个数据库表中的2次查询

MySQL 为什么这个 IF() 语句总是返回相同的值?

PHP函数mysqli_bind_param参数错误

javascript - 将 json 文件从 GO 服务器提供给 javascript 客户端

php - 将 Base64 图像插入数组 PHP PDO

php - 使用 PHP Gettext 无需安装语言环境

javascript - 错误 laravel 项目与 Blade SourceMap

php - GET/POST 方法无法使用 json 从 mysql 数据库获取数据到 html

javascript - 图像在调用后得到解析

php - 连接 Android 应用程序以将字符串从 mysql 获取到 ListView 时出错