2016-03-11 88 views
0

我試圖從數據庫中獲取一列,並將整個內容顯示爲一個數組。到目前爲止,我只能從表中獲取其中一個條目。我明白,我只提取$ row [0],這就是爲什麼我只得到1個元素。我試圖獲取所有元素,但我還沒有成功。有人可以讓我知道如何正確地做到這一點?下面附上了我的代碼。如何使用PHP返回整列作爲數組使用PHP

<?php 


    $con=mysqli_connect("localhost","root","raspberry","users"); 

    if (mysqli_connect_errno()) 
     { 
      echo "failled to connect:".mysqli_connect_error(); 
     } 

    $sql = "SELECT `current` FROM `monitor` ORDER BY `Sno.`"; 
    $result = mysqli_query($con,$sql); 


    $row = mysqli_fetch_array($result,MYSQLI_NUM); 
    printf("%s\n",$row[0]); 



    mysqli_close($con) 

    ?> 
+0

在列上循環,例如, 'while(mysqli_fetch_array($ result,MYSQLI_NUM)){...}' –

+0

'while($ row = ...){echo $ row [current]; }' – Mihai

回答

-1

所以,從你的問題我明白的是 - 你想要獲取數據庫列並將其存儲在數組中,這將使您顯示結果。

<?php 

$con=mysqli_connect("localhost","root","raspberry","users"); 



if (mysqli_connect_errno()) 
    { 
     echo "failled to connect:".mysqli_connect_error(); 
    } 

$sql = "SELECT current FROM monitor ORDER BY Sno"; 
$result = mysqli_query($con,$sql); 

$arr = array(); 
while ($row = mysqli_fetch_array($result)) { 
    $arr2 = array(); 
    foreach ($row as $val) $arr2[] = $val; 
    $arr[] = $arr2; 
    } 

$first_col = array_column($arr, 0); 
print_r($first_col); 

mysqli_close($con) 

?>

也就是說,如果您有五個條目,其第一列包含 像「電流1」,「電流2」,「current3」,「current3」和「current4」的值數據庫此代碼的結果將是

陣列 ( [0] =>電流1 [1] =>電流2 [2] => current3 [3] => current4 [4] => current5 )

+0

是的,這正是我想要做的。我試圖用你所做的改變來運行代碼,它不顯示任何東西。我錯過了什麼嗎? –

+0

好吧,我編輯完整的代碼塊並編寫完整的腳本。現在,如果您的數據庫表監視器使用列電流和sno,則會將第一列的結果顯示到數組中。 – mahbubcsedu

0

PDO爲您的問題提供專用功能PDOStatement :: fetchColumn