2017-05-16 8 views
-1

私はすべての値の平均を得ることができるように、配列に列の値を集めようとしています。ここに私のコードは、これまでのところです:列の値をmysqliで配列に格納する

上記のコードが印刷実行中の
$conn = new mysqli($hn, $un, $pw, $db); 
/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
exit(); 
} 

$average_hdpe = "SELECT hdpe FROM $region"; 
$average_hdpe_result = $conn->query($average_hdpe) or die(mysqli_error($conn)) ; 
$average_hdpe_array = $average_hdpe_result->fetch_array(); 

print_r($average_hdpe_array); 

:、1147:

配列([0] => 1147 [HDPE] => 1147)

を、私は4つのエントリを期待していました1152、1157、1157. 誰かが私が間違っていることを示唆できますか?恐らくfetch_array()は私が思ったことをしません。

+1

を配列ストアフェッチされたデータを作成します。 'fetch_array()'の代わりに 'fetch_all()'を使うか、 'fetch_array()'を保ち、結果をループしてください。これらの関数のマニュアルには良い例があります。 (数値と連想の両方を取得しているので、fetch_assoc()を使って連想させることができるので、二重の値も得られます)。 – Qirel

+0

手続き型およびオブジェクト指向のメソッドを混乱させる –

+1

SELECT AVG(hdpe)FROM $ regionを使用しないのはなぜですか? – Gerard

答えて

2
$average_hdpe = "SELECT hdpe FROM $region"; 
    $average_hdpe_result = $conn->query($average_hdpe) or die(mysqli_error($conn)) ; 
    $array = array();//create empty array 
    while($row = $average_hdpe_result->fetch_array()){//loop to get all results 
     $array[] = $row;//grab everything and store inside array 
    } 
print_r($array);//this should give you everything 
1

あなたが最初の行のみを取得している配列に

$conn = new mysqli($hn, $un, $pw, $db); 
/* check connection */ 
if ($conn->connect_error) { 
    printf("Connect failed: %s\n", $conn->connect_error); 
exit(); 
} 

$average_hdpe = "SELECT hdpe FROM $region"; 
$average_hdpe_result = $conn->query($average_hdpe) or die() ; 
$average_hdpe_array = array(); 
while($row = $average_hdpe_result->fetch_assoc()){ 
$average_hdpe_array[] = $row; 
} 

print_r($average_hdpe_array); 
関連する問題