我有一个非常奇怪的问题:我的 PHP 片段应该向 MySQL 数据库发送多个查询。但是,不会发送最后一个查询。而且没有错误。即使我故意尝试发送无效的 SQL。它只是没有发生任何事情。 Apache 错误日志也没有显示任何错误。请在下面查看我的代码片段:
$mysql = "INSERT INTO office (office_Name,street,postcode,city,mail) VALUES ('$office_name', '$street', '$postcode', '$city', '$mail')";
//works:
$sqlcon->query($mysql);
//works:
$office_id = mysqli_insert_id($sqlcon);
$mysql = "CALL get_order_code('foobar',@x);";
//works:
$result = $sqlcon->query($mysql);
$code = $result->fetch_object()->ordercode;
$result->close();
$hash = sha1($code);
$mysql = "INSERT INTO orders (office_ID, amount, order_code) VALUES ('$office_id', '$amount', '$hash')";
//does not work:
$sqlcon->query($mysql);
最佳答案
看起来您在上次查询之前关闭了连接。 $结果->关闭();应该移到 $sqlcon->query($mysql); 下面。
关于PHP 不会将所有查询发送到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25775684/