2013-03-19 78 views
0

我想将作为mysql查询结果返回的列名的所有行存储在字符串数组中。我是新来的PHP。我已经检索了行,但是如何将一列中的所有行存储在数组中?我的意思是如何迭代行的计数器并将列存储在数组中?或者是否有任何直接的函数/方法调用?请参阅我的代码以及其可能的存储方式:如何将作为mysql查询结果返回的列名的所有行存储在字符串数组中

$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()); 
} 

请帮我编写代码。

+0

http://www.php.net/manual/en/mysqli-stmt.get-result.php – jadkik94 2013-03-19 18:39:36

+0

请不要使用'mysql_ *'函数来编写新的代码。他们不再被维护,社区已经开始[弃用流程](http://goo.gl/q0gwD)。看到[红色框](http://goo.gl/OWwr2)?相反,您应该了解[准备好的语句](http://goo.gl/orrj0)并使用[PDO](http://goo.gl/TD3xh)或[MySQLi](http://php.net/ mysqli的)。如果你不能决定哪些,[这篇文章](http://goo.gl/YXyWL)会帮助你。如果你选择PDO,[这里是很好的教程](http://goo.gl/b2ATO)。另请参阅[为什么不应该在PHP中使用mysql函数?](http://goo.gl/J5jAo) – 2013-03-19 19:17:32

回答

2

MySQL Fetch Array

$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。

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']; 
} 
相关问题