php - 从 mysqli 语句结果返回关联数组

标签 php mysqli

我有以下代码。

public function fetch_questions($count=null)
{
    $stmt = $this->mysqli->prepare("SELECT question,question_title FROM questions order by id");
    $stmt->execute();

    $stmt->bind_result($question,$question_title);

    $arr = array();
    while ($stmt->fetch()) {
        $arr = array('question_title'=>$question_title,'question'=>$question);
    }
    $stmt->close();

    return $arr;
}

输出仅包含一行,即最后一行。如何检索所有记录?

$questions = $db->fetch_questions();
var_dump($questions);

var_dump 的输出:

    array
  'question_title' => string 'aaaaaa' (length=6)
  'question' => string 'aaaaaaaaaaaaaaaaaaaa' (length=20)

最佳答案

您需要通过[]附加$arr上,而不是直接为其赋值。否则,您将在每次循环迭代时覆盖它。

while ($stmt->fetch()) {
    $arr[] = array('question_title'=>$question_title,'question'=>$question);
    //-^^^^
}

关于php - 从 mysqli 语句结果返回关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14364075/

相关文章:

php - 如何在 PHP 中简化这个(相当大的)MySQL 查询

Php MySql 日期之间的生日查询忽略年份

php - 向表插入数据出错

PHP MySQLi - 插入或更新后 insert_id 0 - 我应该先阅读吗?

PHP fatal error :

php - 是否有一种标准的方法来处理与 PHP 中的条件分开的设计 (CSS)?

php - 拉维尔 5 : Apache php http authentication

php - 将 Mysqli bind_param 与日期和时间列一起使用?

PHP 删除功能不起作用

PHP: boolean 与 boolean 类型提示