Php 多线程查询不在循环中运行
我放入另一个查询中的多查询无法运行。未执行内部查询中的存储过程。单独的多重查询运行良好,但在循环内部运行不好。请检查,为什么InnerQuery不在循环内执行Php 多线程查询不在循环中运行,php,mysql,mysqli-multi-query,multi-query,Php,Mysql,Mysqli Multi Query,Multi Query,我放入另一个查询中的多查询无法运行。未执行内部查询中的存储过程。单独的多重查询运行良好,但在循环内部运行不好。请检查,为什么InnerQuery不在循环内执行 <?php include ("../mysqli.php"); if (mysqli_connect_errno()) { printf("Connection error: %s\n", mysqli_connect_error()); exit(); } # Check Start Time
<?php
include ("../mysqli.php");
if (mysqli_connect_errno()) {
printf("Connection error: %s\n", mysqli_connect_error());
exit();
}
# Check Start Time
$time1 = microtime(true);
## Start
if ($DBquery = $mysqli->query("SELECT `id` FROM `Universe`")) {
while($obj = $DBquery->fetch_object()){
$id = $obj->id;
echo "Start with Product-ID: " . $id . "<br>";
# Defining Inner Query
$DBInnerQuery = "
SET @CATEGORY := (SELECT ....);
SET @Date := (SELECT ...
CALL `PROCEDURE1`;
SET @COUNTRY := (SELECT ....);
CALL `PROCEDURE2`;
...
";
# Inner Query does not run and I don't know why:
if ($mysqli->multi_query($DBInnerQuery)) {
$time2 = microtime(true) - $time1;
echo "Scan for Product-Id " . $id . " solved in "
. round ($time2, 4) . " seconds<br>";
}
}
}
echo "End of Product Check." . "<br>";
?>
同时,我解决了这个问题:
# Defining Inner Query
CALL `PROCEDURE1;`;
# Multi Query
if ($mysqli->multi_query($DBInnerQuery)) {
echo "<hr>" . "Scan for all Items solved." . "<br>";
}
$time2 = microtime(true) - $time;
echo "Used Time: "
. round ($time, 4) . " Seconds<br>";
echo "End." . "<br>";
#定义内部查询
调用`过程1;`;
#多查询
if($mysqli->multi_查询($DBInnerQuery)){
echo“
”扫描所有已解决的项目。“
”;
}
$time2=微时间(真)-$time;
回显“已用时间:”
. 四舍五入($time,4)。“秒
”;
回应“结束”。“
”;
尝试回显mysql错误?PHP不会报告错误。MySQL查询窗口也不会报告第一次或第二次查询的错误。我没有看到$result->free();任何地方,都有多个地方可以使用$mysqli->error。