Php 在数组中获取准备好的mysqli查询的结果,而不是将变量绑定到字段

Php 在数组中获取准备好的mysqli查询的结果,而不是将变量绑定到字段,php,mysqli,Php,Mysqli,这会产生正确的结果,但我希望将结果行放在数组中,而不是将单个变量绑定到每个字段,这样我就可以访问$row[0]和/或$row[“name”]等字段 看到了一个关于fetch_assoc()的示例,但它使用了一个我不知道如何使用的mysqli_result类和我不想使用的未准备好的语句 编辑:澄清一下,我对一个解决方案很满意,不管它是否使用bind\u result 为了使用fetch\u assoc,您需要使用get\u results,这将迫使您不要使用看起来不想使用的绑定。因此,我相信用户在

这会产生正确的结果,但我希望将结果行放在数组中,而不是将单个变量绑定到每个字段,这样我就可以访问
$row[0]
和/或
$row[“name”]
等字段

看到了一个关于fetch_assoc()的示例,但它使用了一个我不知道如何使用的mysqli_result类和我不想使用的未准备好的语句


编辑:澄清一下,我对一个解决方案很满意,不管它是否使用bind\u result

为了使用fetch\u assoc,您需要使用get\u results,这将迫使您不要使用看起来不想使用的绑定。因此,我相信用户在php文档中对bind_result函数的操作做了很好的解释,具体如下:。他们解释了如何解决这一问题,以便将结果放入数组。

为了澄清,我对一个解决方案很满意,不管它是否使用bind\u result。阅读该评论时,是否
fetch_assoc
fetch_array
仍然没有为准备好的语句实现?@wilf它们已经实现,但您将替换
$statement->bind_result($name,$age)使用
$results=$statement->get_results()然后执行
$row=$results->fetch_assoc()然后将以assoc数组的形式返回内容。简而言之,它可以用于准备好的语句,但执行后的内容是不同的。是的,我只需要更新php,因为显然
mysqli\u stmt::get\u result
仅在5.3或更新版本中使用:除了get\u result之外,只有在安装/启用mysqlnd-本机驱动程序的情况下,它才能工作。不幸的是,MAMP的情况并非如此,因此我仍在寻找绑定结果的替代方法,这对于多列来说可能非常麻烦。此外,我没有看到任何绑定结果会带来任何好处。
    $idToSearch = 2;

    $conn = new mysqli("localhost", "username", "password", "db_people");

    $statement = $conn->prepare("SELECT name, age from People where id = ?");
    $statement->bind_param("i", $idToSearch);
    $statement->execute();
    $statement->bind_result($name, $age);

    if($statement->fetch()) {
        echo "The name is $name and the age is $age. ";
    } else {
        echo "No person found with that id.";
    }