PHP json 对象具有与数字键和关联键重复的值
PHP json object has duplicate values with numeric and associative keys
我的 php 函数 returns 以下 json 对象:
{"user_id":"1",
"0":"1",
"token":null,
"1":null,
"username":"bgarrett0",
"2":"bgarrett0"}
它添加了数字 key/values 和联想 key/values。我只想要 associative/values。 $sql 是准备好的查询字符串,args 是 $sql 的适当值的数组。
$this->pdo (mysql db) is has attributes [PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION;PDO::ATTR_EMULATE_PREPARES, false;]
public function query($sql, $args)
{
try {
$stmt = $this->pdo->prepare($sql);
$stmt->execute($args);
$stmt = $stmt->fetchAll();
return json_encode($stmt);
} catch(Exception $e) {
$this -> error_status = $e->getMessage();
}
}
如果您只需要关联索引,则只需使用标志 PDO::FETCH_ASSOC
:
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
return json_encode($data);
我的 php 函数 returns 以下 json 对象:
{"user_id":"1",
"0":"1",
"token":null,
"1":null,
"username":"bgarrett0",
"2":"bgarrett0"}
它添加了数字 key/values 和联想 key/values。我只想要 associative/values。 $sql 是准备好的查询字符串,args 是 $sql 的适当值的数组。
$this->pdo (mysql db) is has attributes [PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION;PDO::ATTR_EMULATE_PREPARES, false;]
public function query($sql, $args)
{
try {
$stmt = $this->pdo->prepare($sql);
$stmt->execute($args);
$stmt = $stmt->fetchAll();
return json_encode($stmt);
} catch(Exception $e) {
$this -> error_status = $e->getMessage();
}
}
如果您只需要关联索引,则只需使用标志 PDO::FETCH_ASSOC
:
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
return json_encode($data);