我想创建一个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获取更多详细信息