【发布时间】:2018-05-28 17:47:09
【问题描述】:
我正在尝试使用 mysqli_multi_query 函数,但它不起作用。我认为 echo 会给我一个错误来打印 $res 值,但它会打印我“1”。所以 fetch_array 不起作用,因为在第一个参数中它不接受数字 1。
$sql =" start transaction;";
$sql .="insert into account (user_id, username, activation_date, passw)
values ('$id','$username',CURDATE(),'$password');";
$sql .="insert into users (user_id,name,surname,birth,email,photo) values
('$id','$name', '$surname','$birth','$mail','$foto');";
$sql .="commit work;";
$res=mysqli_multi_query($connessione, $sql);
echo( $res);
if($res != FALSE) {
$row=mysqli_fetch_array($res,MYSQLI_ASSOC);
echo mysqli_error($connessione);
return $row;
} else {
print_r(mysqli_error_list($connessione));
echo "<br>";
mysqli_close($connessione);
return false;
}
附:在 mysql WorkBench 中,查询的值被添加到我的表中。所以我认为查询有效。
会是什么?
【问题讨论】:
-
“它不起作用”是什么意思?
-
你想在这里获取什么,因为这里只是插入查询。
-
@Martin - 我 认为
$res在这种情况下是一个布尔值。文档 (php.net/manual/en/mysqli.multi-query.php) 说它返回一个布尔值。 @MrCaptain Alex - 你为什么是mysqli_fetch_array?没有什么可取的;你执行了 2 个插入语句。 -
@Martin 有 mysqli_multi_query 返回 true 或 false 那么这里的 mysqli 资源在哪里。