我正在研究一個讓學生參加課堂的專案,我想在運行 UPDATE 的 SQL 函式的同時通過 PHP 更新資料庫資料,但我希望能夠根據資料的 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!";
}
uj5u.com熱心網友回復:
用$conn->lastInsertId()得到,當他們在主頻已分配的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();
$_SESSION['clock_id'] = $conn->lastInsertId();
} elseif(isset($_POST['time_out'])) {
if (!isset($_SESSION['clock_id'])) {
$status = "You need to clock in first!";
} else {
$query = "UPDATE nameOfTable SET datetime = NOW() WHERE id = :id ";
$d = $conn->prepare($query);
$d->execute(['id' => $_SESSION['clock_id']]);
}
} else {
$status = "Can't time in!";
}
uj5u.com熱心網友回復:
您必須記住準備查詢并將引數系結到它。
使用該$id變數準備具有適當 ID 的查詢。
在將 ID 傳遞給查詢之前,請確保對會話進行身份驗證,否則攻擊者可以操縱這些資料來提取他們想要的任何人的資料。
// Its helpful to create elements within the code to bind onto. :id is ours.
$query = "UPDATE nameOfTable SET datetime = NOW() WHERE id = :id ";
$d = $conn->prepare($query);
// Run the query & bind id to :id
$d->execute(['id' => $id]);
uj5u.com熱心網友回復:
你試試更新
$query = "UPDATE nameOfTable SET datetime = NOW() WHERE id = :id ";
$d = $conn->prepare($query);
$d->execute(['id' => $id ]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/388648.html
