在php中的一个Mysql查询中插入并更新到不同的表中

在php中的一个Mysql查询中插入并更新到不同的表中,php,mysql,mysqli,Php,Mysql,Mysqli,我尝试了下面的代码,但无效: if (isset($_POST['ubah'])) { $queryUpdate = mysqli_multi_query("INSERT INTO perbaikan SET id_perbaikan = '',idrusakbaik = '" . $id . "',komenrusak = '" . $_POST['komenrusak'] . "',tglbaik = '" . $tgl_sekarang . "'; UPDATE kerusakan

我尝试了下面的代码,但无效:

if (isset($_POST['ubah'])) {
    $queryUpdate = mysqli_multi_query("INSERT INTO perbaikan SET id_perbaikan = '',idrusakbaik = '" . $id . "',komenrusak = '" . $_POST['komenrusak'] . "',tglbaik = '" . $tgl_sekarang . "'; UPDATE kerusakan SET  status = '" . $_POST['status'] . "'WHERE id_kerusakan = '" . $id . "'");

    if ($queryUpdate) {
        echo "<script> alert('Data Berhasil Disimpan'); location.href='index.php?hal=master/perbaikan-mekanik/list' </script>";
        exit; 
    }
}

在一个查询中不存在两个查询。总是有两个查询。而且没有一个理由可以在一次呼叫中运行它们。因此,只需将查询重写为两条准备好的语句


显示$\u POST数组中的内容。运行var_dump$_POST;你说它不起作用是什么意思?如果MySQL服务器抛出错误,您是否尝试过查找?此外,请注意,您的代码对SQL是开放的injection@NicoHaase我试图通过phpmyadmin插入mysql,但当我输入到php时,它不起作用,这意味着查询插入和更新不起作用,您是否尝试检查错误消息?phpMyAdmin会不时更正无效语句,而mysqli\u multi\u查询则不会
$sql = "INSERT INTO perbaikan SET id_perbaikan = '',idrusakbaik = ?,komenrusak = ?,tglbaik = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("sss", $id, $_POST['komenrusak'],$tgl_sekarang);
$stmt->execute();

$sql = "UPDATE kerusakan SET  status = ? WHERE id_kerusakan = ?");
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $_POST['status'], $id);
$stmt->execute();