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

时间:2017-03-11 09:27:24

标签: php sql database

我有一个包含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>

4 个答案:

答案 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)

根据您的评论,我假设字段StatusstringRequestIDint。所以这应该适合你。

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