我有一个包含7列的数据库(RequestID,膳食,姓名,地址,城市,电话,电子邮件,状态)
我想通过输入RequestID然后输入新状态来更新我的请求状态
我遇到了问题
致命错误:未捕获的异常' PDOException'消息' SQLSTATE [42S22]:未找到列:1054未知列' aa'在'字段列表
if (isset($_POST['update'])) {
// $RequestID = $_POST['RequestID'];
$RequestID = $_POST['RequestID'];
$Status = $_POST['Status'];
// mysql query to Update data
$conn->beginTransaction();
$conn->exec("UPDATE delivery SET delivery.Status = $Status WHERE delivery.RequestID = $RequestID ");
$conn->commit();
echo "<h1 style=text-center;>Status updated</h1>";
echo "<br>";
}
<!DOCTYPE html>
<html>
<head>
<title> PHP UPDATE STATUS </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="tests.php" method="post">
ID To Update: <input type="number" name="RequestID" required><br><br>
New Status:<input type="text" name="Status" required><br><br>
<input type="submit" name="update" value="Update Data">
</form>
</body>
答案 0 :(得分:0)
错误消息表明数据库中的表admin没有名为“aa”的列。您需要检查表中可用的列,但没有更多信息(例如表定义),我无法提供更多帮助。
答案 1 :(得分:0)
更改您的sql代码如下:
$conn->exec("UPDATE `delivery` SET `Status` = `$Status` WHERE `RequestID` = `$RequestID` ");
答案 2 :(得分:0)
请尝试使用此方法执行查询。
$conn->exec($con,"UPDATE `delivery` SET `Status` = '$Status' WHERE `RequestID` = $RequestID");
答案 3 :(得分:0)
根据您的评论,我假设字段Status
是string
而RequestID
是int
。所以这应该适合你。
$sql = "UPDATE delivery SET Status = '".$Status."' WHERE RequestID = ".$RequestID;
$conn->exec($sql);