如何将mysqli的结果存入关联数组?

时间:2016-08-04 08:45:08

标签: php multidimensional-array mysqli

为了为我的Android应用程序设置REST API,我想从以下语句中获取一个关联数组:

$stmt = $this->conn->prepare("SELECT * FROM stores_diag WHERE rim = ?");
    $stmt->bind_param("s", $email);
    $stmt->execute();
    $stmt->store_result();
    $count=$stmt->num_rows();
    echo $count;

此请求应该返回3个结果并且$ count是好的,我有3个结果。但是我怎么能处理将结果存入一个数组,我可以像这样导航:

$ array [0] [“name”] =第一个项目的名称

$ array [1] [“name”] =第二项的名称

这是为了将数组编码为我的api的json。

1 个答案:

答案 0 :(得分:0)

这是您正在寻找的功能:

获取所有结果行作为关联数组,数字数组或两者 http://php.net/manual/en/mysqli-result.fetch-all.php

您可以像

一样使用它
mysqli_fetch_all($stmt,MYSQLI_ASSOC);

你必须拥有mysqlnd驱动程序和php 5.3或更高版本。如果您无法运行该功能,请尝试使用

$stmt = $this->conn->prepare("SELECT * FROM stores_diag WHERE rim = ?");
$stmt->bind_param("s", $email);
$result = $stmt->execute();
$fetchAsssoc = array();
while($row = $result->fetch_assoc()) {
    $fetchAsssoc[] = $row;
}
echo json_encode($fetchAsssoc);
//$stmt->store_result();
//$count=$stmt->num_rows();
//echo $count;

最后你可以返回/ echo json_encode($assocArray);