Обновление записей в базе данных MYSQL с использованием PHP
У меня база данных состоит из 7 столбцов (RequestID, Meal, Name, Address, City, Phone, Email, Status)
Я хочу обновить статус моих запросов, введя 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>
Из вашего комментария я предполагаю, что поле Status
является string
а RequestID
- int
. Так что это должно сработать для вас.
$sql = "UPDATE delivery SET Status = '".$Status."' WHERE RequestID = ".$RequestID;
$conn->exec($sql);
Попробуйте этот метод для выполнения запроса.
$conn->exec($con,"UPDATE 'delivery' SET 'Status' = '$Status' WHERE 'RequestID' = $RequestID");
Измените свой код sql следующим образом:
$conn->exec("UPDATE 'delivery' SET 'Status' = '$Status' WHERE 'RequestID' = '$RequestID' ");
Сообщение об ошибке указывает, что администратор таблицы в вашей базе данных не имеет столбца с именем aa. Вам нужно проверить, какие столбцы доступны в таблице, но без дополнительной информации (например, определение таблицы) я не могу больше помочь.