Обновление записей в базе данных MYSQL с использованием PHP

104
1

У меня база данных состоит из 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>

спросил(а) 2017-03-11T12:27:00+03:00 3 года, 6 месяцев назад
1
Решение
97

Из вашего комментария я предполагаю, что поле Status является string а RequestID - int. Так что это должно сработать для вас.

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

ответил(а) 2017-03-11T13:20:00+03:00 3 года, 6 месяцев назад
41

Попробуйте этот метод для выполнения запроса.


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

ответил(а) 2017-03-11T12:41:00+03:00 3 года, 6 месяцев назад
40

Измените свой код sql следующим образом:

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

ответил(а) 2017-03-11T12:35:00+03:00 3 года, 6 месяцев назад
41

Сообщение об ошибке указывает, что администратор таблицы в вашей базе данных не имеет столбца с именем aa. Вам нужно проверить, какие столбцы доступны в таблице, но без дополнительной информации (например, определение таблицы) я не могу больше помочь.

ответил(а) 2017-03-11T12:34:00+03:00 3 года, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема