【问题标题】:php/sql with json output带有 json 输出的 php/sql
【发布时间】:2014-06-27 03:53:10
【问题描述】:

我想从我的数据库数据中创建一个 json,json 输出是这样的:

`[{"id":"1","0":"1","nom":"test","1":"test","prenom":"john","2":"john","societe":"","3":"","mail":"johntest@gmail.com","4":"johntest@gmail.com","type":"creatif","5":"creatif","url":"johntest","6":"johntest"}]`

我这样做的 php 代码是:

$stock = array();
$sql = $bdd->prepare("SELECT * FROM user");
if ($sql->execute())
{
    while ($row = $sql->fetch())
    $stock[] = $row;
}
print json_encode($stock);

我的问题是一切都翻了一番,我有一个像"nom":"test" 这样的好属性的第一个数据,然后我有一个无处不在的东西"1":"test"

我怎样才能摆脱这第二件事?

感谢您的帮助

【问题讨论】:

    标签: php sql json pdo


    【解决方案1】:

    fetch() 调用中使用PDO::FETCH_ASSOC

    while ($row = $sql->fetch(PDO::FETCH_ASSOC))
    

    PDO 默认为PDO::FETCH_BOTH,它返回关联数组和数字键控数组。

    【讨论】:

    • 感谢你们的大厅,它运作良好! ;)
    【解决方案2】:

    而不是$sql->fetch() 传递FETCH_ASSOC 因为默认它将使用PDO::FETCH_BOTH

    $sql->fetch(PDO::FETCH_ASSOC);
    

    阅读PDOStatement::fetch了解更多详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-08
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-28
      相关资源
      最近更新 更多