我需要一次执行两个或多个查询,一个接一个地获取它们。
然后我需要绑定param并将结果绑定在每一个中。
我正在尝试这种方式,但收到错误。
$query="
SELECT
`date`, `ip`, AVG(`value`)
FROM `stats`.`stats`
WHERE `uid`=?
GROUP BY `date`, `ip`;
";
$query.="
SELECT
`category`, `ip`, AVG(`value`)
FROM `stats`.`stats`
WHERE `uid`=?
GROUP BY `category`, `ip`;
";
$prepare = mysqli_multi_query($connection, $query);
mysqli_stmt_bind_param($prepare, 'ss', $uid,$uid);
mysqli_stmt_execute($prepare) or trigger_error(mysqli_error($connection), E_USER_ERROR);
然后在html部分我需要逐个获取这些结果
//fetch first query result
while (mysqli_stmt_fetch($prepare)):
mysqli_stmt_store_result($prepare);
mysqli_stmt_bind_result($prepare, $date,$ip,$value);
mysqli_free_result($result);
endwhile;
//fetch second query result
while (mysqli_next_result($prepare)):
while (mysqli_stmt_fetch($prepare));
mysqli_stmt_store_result($prepare);
mysqli_stmt_bind_result($prepare, $category,$ip,$value);
mysqli_free_result($result);
endwhile;
但它无法显示多个错误。
Warning: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in
Warning: mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, boolean given in
Fatal error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? GROUP BY `date`,`ip` ) ..
请参阅并建议任何可行的方法。
由于
答案 0 :(得分:0)
我需要一次执行两个或多个查询
你不是。
因此,您应该只使用常规的准备/执行查询,逐个运行它们。