0

我想将作为 MySQL 查询结果返回的列名的所有行存储在字符串数组中。我是 PHP 新手。我已经检索了行,但是如何将列的所有行存储在数组中?

我的意思是如何迭代行的计数器并将列存储在数组中?还是有任何直接的函数/方法调用?请参阅下面的代码及其在数组中存储的可能方式:

$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'password';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
$dbname = 'users';
mysql_select_db($dbname);

$result = mysql_query("SELECT users.email FROM users");

//  AND THEN FINALLY STORING IN A STRING ARRAY:

$array = $result;

//  OR SOMETHING LIKE:

Store($array, $result);

//  OR SOMETHING LIKE:

for(int i = 0; i < $result.Rows.Count; i++)
{
    if (null != $row[0])
    {
        $array[i] = $result[i];
    }
}

//  OR SOMETHING LIKE:

while($null != result.read())
{
    $array.Add($result.Read());
}
4

2 回答 2

2

这是你可以做到的

$rec = mysqli_query("SELECT users.email FROM users");
$data   =   array();
$i=0;
while($row = mysql_fetch_assoc($rec)){
    $data[$i]['column1']    =   $row['column1_from_table'];
    $data[$i]['column2']    =   $row['column2_from_table'];
    $data[$i]['column3']    =   $row['column3_from_table'];
}
于 2013-03-19T18:38:44.433 回答
2

MySQL 获取数组

$result = mysql_query("SELECT users.email FROM users");

while($row = mysql_fetch_array($result)){
    $array[] = $row;
}

这将返回一个关联数组的数组。将$row包含列名的索引以及整数索引。

例如:

echo $row['email'];
//or
echo $row[0];

最后,您可以通过以下方式获得第一行:

$array[0]['email']; //or $array[0][0];

注意:不要使用 MySQL_*,因为它在 PHP 5.5 中已被弃用。请改用 MySQLi_* 或 PDO。

于 2013-03-19T18:38:56.653 回答