【发布时间】:2012-01-25 09:02:50
【问题描述】:
<?php
$mysqli=mysqli_connect("localhost","root","","politicalforum");
$query="SELECT query_title FROM administrator";
$query.="SELECT thread_id FROM threads";
if($mysqli->multi_query($query))
{
do
{
if($result=$mysqli->store_result())
{
while($row=$result->fetch_row())
{
printf("%s\n",$row[0]);
}
$result->free();
}
if($mysqli->more_results())
{
print("-------------------------------");
}
}while($mysql->next_result());
}
$mysqli->close();
?>
它不起作用..它不会进入第一个 if 条件来识别它是否是一个多查询..
我还有其他问题,..为什么multi_query() 有用..,
更新:
严格标准:mysqli::next_result() [mysqli.next-result]:有 没有下一个结果集。请打电话 mysqli_more_results()/mysqli::more_results() 检查是否调用 C:\xampp\htdocs\PoliticalForum2\test.php 中的这个函数/方法 第 42 行
已解决:
<?php
$mysqli=mysqli_connect("localhost","root","","politicalforum");
$query="SELECT query_title FROM administrator;";
$query.="SELECT thread_id FROM threads;";
if($mysqli->multi_query($query))
{
do
{
if($result=$mysqli->store_result())
{
while($row=$result->fetch_row())
{
printf("%s<br/>",$row[0]);
}
$result->free();
}
if($mysqli->more_results())
{
print("-------------------------------<br/>");
}
else
{
echo '<br/>';
}
}while($mysqli->more_results() && $mysqli->next_result());
}
$mysqli->close();
?>
【问题讨论】:
-
同时运行这两个查询有什么意义?
-
mysqli_multi_query -> 执行一个或多个由分号连接的查询。您需要在查询之间添加分号。我个人从未使用过 multi_query,所以我不能建议你过去
-
这基本上是来自 multi_query PHP 文档页面 php.net/manual/en/mysqli.multi-query.php 的复制粘贴,对查询结构进行了细微更改。
-
true.. 我试着自己做这个例子
-
你应该也检查过这一行...“执行一个或多个用分号连接的查询。”,同时复制粘贴