簡體   English   中英

將查詢結果存儲到php數組中以按索引回顯結果

[英]Store query result into php array to echo result as per index

我有下面的代碼,查詢的結果來自2個Mysql列。 我想將它們存儲在單個數組中。 我經過很多問題和解答,並嘗試了很多,並在以下代碼中進行管理:

$query10 = $conn->query("SELECT CONCAT(step1, ' ', step2) AS A1 FROM workflow1 where nx_version='NX11IP33'");
$array10 = Array();
while( $row = mysqli_fetch_assoc( $query10)){
    $new_array[] = $row; // Inside while loop
}
print_r($new_array);

電流輸出:

Array ( [0] => Array ( [A1] => 10 2 ) )

所需的輸出:

Array ( [0] => 10 [1] => 2 )

任何幫助。

您在SQL查詢中將CONCAT()兩列專門設置為一個。 然后您問為什么將它們串聯而不是分開?

那么顯然答案是分別獲取兩列:

<?php
//...
$query = $conn->query("SELECT step1, step2 FROM workflow1 WHERE nx_version='NX11IP33'");
if ($query) {
    $result = [];
    while($row = mysqli_fetch_assoc($query)) {
        $result[] = $row;
    }
    print_r($result);
}

該輸出將是這樣的:

Array ( 
    [0] => Array ( 
        [step1] => 10
        [step2] => 2 
    ) 
)

如果nx_version是唯一鍵,那么如果可以保證在查詢結果中僅收到一行,則可以簡化以下操作:

<?php
//...
$query = $conn->query("SELECT step1, step2 FROM workflow1 WHERE nx_version='NX11IP33' LIMIT 1");
if ($query) {
    $result = mysqli_fetch_assoc($query);
    print_r($result);
}

該輸出將是這樣的:

Array ( 
    [step1] => 10
    [step2] => 2 
)

最后,如果您更喜歡數字索引而不是關聯索引(如問題中的預期結果所示),請使用mysqli_fetch_row()代替mysqli_fetch_assoc()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM