2016-03-11 42 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