1

简单的问题。假设我运行以下命令:

$results = mysql_query("SELECT * FROM table");

如何在不执行 while 循环的情况下将 mysql 结果数组加载到 PHP 数组中?例子:

$mysql_results = array();
$results = mysql_query("SELECT * FROM table");
$mysql_results = mysql_load_all_results_into_array($results);

谢谢!

4

4 回答 4

1

PHP 的mysql_库不提供“获取所有”行的方法,而无需使用mysql_fetch_row()(或类似方法)循环遍历结果对象。

但是,您可以更新您的代码以使用mysqli包含一个名为mysqli_result::fetch_all执行您想要的任务的方法的库。或者,您可以更新以使用PDO包含名为PDOStatement::fetchAll.

由于这些mysql_方法已被弃用,更新到mysqli(or PDO) 是推荐的方法。

于 2012-11-26T16:40:38.307 回答
0

你不能用mysql做到这一点。你必须循环。你可以用PDO做到这一点

于 2012-11-26T16:39:12.950 回答
0

请使用 MySQLi 扩展:

http://php.net/manual/en/mysqli-result.fetch-all.php

于 2012-11-26T16:39:16.463 回答
0

使用:
$values = mysql_fetch_array($results);
但请检查您的操作是否成功......因此:
while ($values = mysql_fetch_array($result)) {
    $msg = "Array gotten successfully.";
 }

于 2012-11-26T16:45:57.690 回答