【发布时间】:2022-01-22 13:07:47
【问题描述】:
我正在做一个让学生上课的项目,我想通过 PHP 更新数据库数据,同时运行 UPDATE 的 SQL 函数,但我希望能够根据数据的 id 更新它。
这是我目前正在使用的代码。
<?php
require_once './dba.php';
$status = "";
if(isset($_POST['time_in'])) {
$query = "INSERT INTO nameOfTable (datetime) VALUES (NOW())";
$d = $conn->prepare($query);
$d->execute();
} elseif(isset($_POST['time_out'])) {
$query = "UPDATE nameOfTable SET datetime = NOW() WHERE id = ? ";
$d = $conn->prepare($query);
$d->execute();
} else {
$status = "Can't time in!";
}
【问题讨论】:
-
您忘记调用
$d->bind_param()为?占位符提供值。 -
你使用的是 MySQLI 还是 PDO?
-
从哪里获取要更新的 ID?
-
@Barmar 使用 PDO
-
哦,我想我明白了。您需要上次插入时由
AUTO_INCREMENT创建的 ID。从$conn->lastInsertId()设置一个会话变量,并在他们下班时使用它。