2014-07-01 94 views
0

我有一個使用多個查詢多查詢MySQLi的語句和使用var_dump時帶回了以下內容:陣列的庫MySQLi多個查詢,訪問第二陣列

的var_dump:

array(1) { ["company"]=> string(8) "ffr3e456" ["high_1"]=> string(8) "8.32465" } 
array(2) { ["company"]=> string(8) "gg8751hw" ["high_2"]=> string(7) "7.66574" } 

代碼我正在使用顯示數組在PHP文件中拾取第一個數組(即high_1信息的內容但不是第二個)

代碼

if ($mysqli->multi_query($query)) { 
    do { 
     /* store first result set */ 
      if ($result = $mysqli->store_result()) { 
       while ($row = $result->fetch_assoc()) { 
        for ($p=1; $p<=2; $p++) 
         { 
         echo number_format($row["high_".$p],2); 

的HTML輸出顯示從所述第一陣列中的數據而不是第二。我確信我忽視了某些事情,歡迎任何建議和反饋。

+0

你能證明實際執行查詢並獲取結果的代碼? –

+0

你的鑰匙有名字'high_1'和'high_2',而不是'novhigh_1'和'novhigh_2'。你爲什麼不用一個'UNION'聲明來獲取這些值? – VMai

+0

添加了上述代碼。調整過的代碼如此匹配high_'1和'high_2'。此時不能使用'UNION'。 –

回答

1
$C = array_merge($A, $B); 

你可以在這裏閱讀更多:http://www.php.net/manual/de/function.array-merge.php

+0

謝謝@ssergei - 但是,兩個數組都在'$ row'變量中 - 不知道如何合併或合併它們。 –

+0

'$ A = $ row [0]; $ B = $ row [1];' – ssergei

+0

謝謝,但遺憾的是,這是行不通的。 –

0

如果您顯示返回結果的SQL語句將會很有幫助。

返回的數組是單獨的$行結果嗎?

在你需要通過每個$行的結果迭代這種情況下,是這樣的:

foreach($query->result() as $row) 
{ 
for ($p=1; $p<=2; $p++) 
{ 
    echo number_format($row["novhigh_".$p],2); 
} 
} 

在一個側面說明:它看起來像陣列內的關鍵定義是不符合邏輯的,爲什麼不能有相同的「novhigh」元素的關鍵值?