gpt4 book ai didi

php - 如何将多个查询的结果存储在不同的数组变量中

转载 作者:行者123 更新时间:2023-11-29 21:30:04 24 4
gpt4 key购买 nike

我需要从 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 尝试获取第二个查询时,我收到此错误:

Fatal error: Call to a member function fetch_object() on boolean

我阅读了有关 multi_query 的内容,但找不到有关将查询输出保存为单独变量的任何内容。

附加信息:即使我切换查询,第二个查询也总是不正确。我不知道如何加载第二个查询以及前一个查询发生了什么(当我写入:结果->免费时被删除?)

最佳答案

解决方案是这一行:

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

看来mysqli需要一个查询完成的信息。

关于php - 如何将多个查询的结果存储在不同的数组变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35327675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com