2015-07-03 62 views
0

我有一個數據庫,如果可能的話,我想以數值數組的形式獲取一列。訪問PHP中的特定列

這是我的代碼,但我只能得到第一項。

<?php 

$dbc = mysqli_connect('localhost', 'starCreator', 'starCreatorPass','starsystem') or die ('starCreator: ... I couldn.t connect to the database, something is wrong with the authentication'.'<br />'); 

if ($dbc) 
    { 
     echo 'starCreator: ... connection to the database is established'.'<br/>'; 
    } 

$query = "SELECT name FROM stars"; 
$result = mysqli_query($dbc,$query); 

$row = mysqli_fetch_array($result, MYSQLI_NUM); 

echo $row[0]; 
echo $row[1]; 

?> 

此行[1]不會重試第二項。

+1

您確定查詢返回多於1行? – KAD

+0

如果你的意思是查詢本身?然後是 - 我使用終端嘗試了這個命令。 –

+0

好吧,那麼你有一些正確的答案:) – KAD

回答

3

你需要通過的結果(行)循環

$query = "SELECT name FROM stars"; 
$result = mysqli_query($dbc,$query); 

while($row = mysqli_fetch_array($result, MYSQLI_NUM)){ 

    echo $row[columnName]; 
    echo $row[anotherColumnName]; 

} 
6

mysqli_fetch_array只得到1行。行的索引代表列,而不是不同的值。要獲得其他值,您需要多次呼叫mysqli_fetch_array,最好在一個循環中:

while($row = mysqli_fetch_array($result, MYSQLI_NUM)) 
{ 
    echo $row[0]; 
} 
+0

有沒有辦法獲取一個完整的數組(列)?或者我必須在PHP文件中創建一個數組,然後通過循環遍歷行來填充它? –

+0

@АлексейНаумов,不,你需要手動執行:'$ results = array();'並在循環中添加值'$ results [] = $ row [0];''。 –

+0

謝謝!得到它! –