首页 > 解决方案 > 如何在没有“bind_param”的情况下进行更新

问题描述

所以我正在尝试为我的公司设置一个简单的出勤网络应用程序。签入/签出是通过一个按钮完成的,为了做到这一点,我几乎同时进行了 INSERT 和 UPDATE。但是要进行正确的更新,我需要为“bind_param”提供一个“id”,而我有点卡在那里。我敢打赌,这是一个简单的问题,但我找不到解决办法。

if ($pre == 0) {
    $sql = $mysqli->prepare("INSERT INTO presence(code_pr,heure_debut,user_id)
        VALUES( ? , ? , ? )
        ") or die(mysqli_error($mysqli));
    $sql->bind_param("sss", $code_pr, $heure_debut, $idcompte);

    if (!$sql->execute()) {
        die('<h3 style="color:red;" align="center">ERREUR</h3>' . mysqli_error($mysqli));
    }
} else {
    if ($pre == 1 && $precheck == 1) {
        $sqlsrt = $mysqli->prepare("UPDATE presence SET heure_fin=? WHERE user_id=? AND id=?") or die(mysqli_error($mysqli));
        $sqlsrt->bind_param('ss', $heure_fin, $idcompte);
        if (!$sqlsrt->execute()) {
            die('<h3 style="color:red;" align="center">ERREUR</h3>' . mysqli_error($mysqli));
        }
    }
}

我希望能够有一个 id 放入我的 'bind_param' 。

标签: phpmysqlmysqli

解决方案


我认为 '$conn->lastInsertId()' 会有所帮助。

if (!$sql->execute()) {
    die('<h3 style="color:red;" align="center">ERREUR</h3>' . 
    mysqli_error($mysqli));
}else{
   //Here you can take the ID of the last Insert
   $id = $conn->lastInsertId()
}

推荐阅读