簡體   English   中英

如何將多個查詢的結果存儲在不同的數組變量中

[英]How to store results of multiple queries in different array variables

我需要從2個不同的查詢中獲取數據。 我想將它們存儲為2個單獨的變量。

首先,我嘗試了這個:

// 1. Create a database connection
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASS, DB_NAME, DB_PORT);

if ($mysqli->connect_errno) {
    echo "No connection" ;
}
// 2. first query 
$query = "CALL sp1('2015-01-01', '2015-01-31');";
$result = $mysqli->query($query);

$var1 = array();
while($shop = $result->fetch_object()) {
    $var1[] = $shop;
}

echo '<pre>', print_r($var1), '</pre>';
$result->free();

// 3. second query 
$query = "CALL sp2('2015-01-01', '2015-01-31');";
$result = $mysqli->query($query);

$var2 = array();
while($shop = $result->fetch_object()) {
    $var2[] = $shop;
}

echo '<pre>', print_r($var2), '</pre>';

我從第一個查詢獲取數據,但是當php嘗試獲取第二個查詢時,出現此錯誤:

致命錯誤:在布爾值上調用成員函數fetch_object()

我讀到有關multi_query的信息,但找不到有關將查詢的輸出另存為單獨變量的任何信息。

附加信息:即使我總是切換查詢,第二個查詢也不正確。 我不知道如何加載第二個查詢以及上一個查詢發生了什么(我寫:result-> free時被刪除了)

解決的方法是:

$results->free();
// solution
$mysqli->next_result();

似乎mysqli需要一個查詢已完成的信息。

暫無
暫無

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

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