繁体   English   中英

使用PHP更新MYSQL数据库中的记录

[英]Update Records In MYSQL Database Using PHP

我有一个由7列组成的数据库(RequestID,Meal,Name,Address,City,Phone,Email,Status)

我想通过输入RequestID然后更新新状态来更新我的请求状态

我有问题

致命错误:消息为“ SQLSTATE [42S22]”的未捕获异常“ PDOException”:找不到列: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>

错误消息表明数据库中的表admin没有名为“ aa”的列。 您需要检查表中可用的列,但是如果没有更多信息(例如表定义),我将无济于事。

更改您的sql代码,如下所示:

$conn->exec("UPDATE `delivery` SET `Status` = `$Status` WHERE `RequestID` = `$RequestID` ");

请尝试使用此方法执行查询。

$conn->exec($con,"UPDATE `delivery` SET `Status` = '$Status' WHERE `RequestID` = $RequestID");

根据您的评论,我认为Status字段是一个string ,而RequestID是一个int 因此,这应该适合您。

$sql = "UPDATE delivery SET Status = '".$Status."' WHERE RequestID = ".$RequestID;
$conn->exec($sql);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM