php/sql with json output


php/sql with json output

我想创建一个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"

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

谢谢你的帮助

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

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

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

代替$sql->fetch()传递FETCH_ASSOC,因为默认情况下它将使用PDO::FETCH_BOTH

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

读取PDOStatement::fetch获取更多详细信息