【发布时间】:2012-10-22 22:49:54
【问题描述】:
我想将 sql 语句的每个结果保存在不同的数组中。我试过了:
$sql = "SELECT * FROM `link_server` WHERE `in_use` = false;";
$sql .= "SELECT * FROM `link_queue` WHERE `active` = false;";
if ($db->multi_query($sql))
{
do
{
// Erstes Abfrageergebnis ausgeben
if ($result = $db->store_result())
{
// Abfrageergebnis ausgeben
while ($server_fetch = $result->fetch_array())
{
$server[] = $server_fetch;
}
$result->close();
}
// Trenner fuer Zweites Abfrageergebnis
if ($db->more_results())
{
echo "<hr />test";
$queue[] = $server_fetch;
}
} while ($db->next_result());
echo "Servers:";
print_r($server);
echo "Queue:";
print_r($queue);
}
第一条语句的结果应该保存在数组$server中,第二条语句的结果应该保存在数组$queue中。
上面的示例将完整的返回(来自两个语句)存储在第一个数组 ($server) 中。第二个数组是空的。
我该如何解决?
感谢您的帮助!
【问题讨论】:
-
为什么要同时进行多个查询?这似乎是不必要的复杂?
-
因为它更快,更容易概览.. ;) 但这不是问题 ;)
-
我怀疑这样做所节省的时间无论如何都是可观的。我强烈建议将其分成两个单独的部分,然后分别测试每个部分的准确性。
-
让您的数据库应用程序完成繁重的工作。它针对排序和返回数据进行了优化。
标签: php mysqli multi-query