2013-03-19 130 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']; 
} 
相關問題