多亏了我已经想通了,我无法使用的答案fetch_all(),因为我使用PHP 5.2.17- fetch_assoc以while循环工作.
我正在使用的函数fetch_all回来时出现此错误:
致命错误:调用未定义的方法mysqli_result :: fetch_all()in
$mysqli = new mysqli($host, $username, $password, $database);
$query = "LONG QUERY that works, tested in phpmyadmin"
$result = $mysqli->query($query);
$result->fetch_all(); or $mysqli->fetch_all() tried both
mysqli_fetch_all() was already tried.
$mysqli->close();
Run Code Online (Sandbox Code Playgroud)
我能够连接到数据库,我已经拉了一行.当我将查询放在PHPMYADMIN中时,我得到5行.
这个功能是否有效?有没有办法可以自己将数据放入一个关联数组中?
Kar*_*lis 48
从PHP 5.3.0开始,此功能可用.可能你的版本较旧.请fetch_assoc()改用.
while ($row = $result->fetch_assoc()) {
// do what you need.
}
Run Code Online (Sandbox Code Playgroud)
Has*_*imi 33
mysqli::fetch_all()需要mysqlnd驱动程序才能使用它.
Mic*_*ski 17
构造关联数组的典型方法是while循环:
$results_array = array();
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
$results_array[] = $row;
}
Run Code Online (Sandbox Code Playgroud)
作为Fabrizios答案的补充,请考虑使用循环构建阵列:
$array = array();
while($row = $result->fetch_assoc())
$array[] = $row;
Run Code Online (Sandbox Code Playgroud)