这会得到正确的结果,但我希望将结果行放在数组中,而不是将单个变量绑定到每个字段,这样我就可以访问$row[0]
和/或$row["name"]
等字段。
$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.";
}
看了一个关于fetch_assoc()的例子,但是它使用了一个我不太热的mysqli_result类和我不想使用的毫无准备的语句。
编辑:为了澄清,我对解决方案是否合适无论是否使用bind_result。
答案 0 :(得分:1)
为了使用fetch_assoc,您需要使用get_results,这会强制您不使用您似乎不想做的绑定。因此,我相信用户uramihsayibok在bind_result函数的php文档中很好地解释了你想要做的事情,具体在这里:http://php.net/manual/en/mysqli-stmt.bind-result.php#92505。他们解释了如何解决这个问题,以便将结果导入数组。