2017-08-19 53 views
0

我有下面的代碼從2個MySQL列的查詢結果。我想將它們存儲在一個數組中。我去了直通許多問題和答案,並嘗試了很多,下面的代碼管理:存儲查詢結果到PHP陣列回聲結果作爲每個索引

$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) 

任何幫助。

+0

您明確'CONCAT()'兩列,將一個單一的SQL查詢。然後你問爲什麼他們連接而不是分開?那麼... – arkascha

+0

我看,我是新來的PHP。我如何修改查詢然後...? –

+0

我在下面發佈了一些答案。你沒有提到你的數據方案,所以我保持了一點抽象。希望它有幫助,玩得開心! – arkascha

回答

2

您明確CONCAT()兩列,將一個單一的SQL查詢。然後你問爲什麼他們連接而不是分開?

答案那麼很明顯是分別取兩列:

<?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()

+0

是的,nx_version是一個唯一的密鑰。我需要你發佈的第二個代碼,因爲我將在2個html表格單元格中使用索引打印2個值。謝謝! –

+1

@SamadhanGaikwad歡迎您!祝你的項目好運! – arkascha