Запросы PDO не работают - PullRequest
1 голос
/ 06 июля 2011

У меня есть набор операторов PDO, которые, похоже, не работают. В основном я пытаюсь обновить значение «ожидания» в 1 таблице, а затем выбрать эту же строку и вставить ее в другую таблицу.

$statement = $db->prepare("UPDATE waiting SET wait = :status WHERE id = :id");
$statement->bindValue(':status', 0);
$statement->bindParam(':id', $id);
$statement->execute();
$statement = $db->prepare("INSERT INTO approved (fname, lname, student_id, email, type) (SELECT fname, lname, student_id, email, type FROM waiting WHERE id = :id)");
$statement->bindParam(':id', $id);
$statement->execute();

Я также пытался установить $statement в ноль, прежде чем выполнить другой запрос, но это тоже не сработало:

$statement = $db->prepare("UPDATE waiting SET wait = :status WHERE id = :id");
$statement->bindValue(':status', 0);
$statement->bindParam(':id', $id);
$statement->execute();
$statement = null;
$statement = $db->prepare("INSERT INTO approved (fname, lname, student_id, email, type) (SELECT fname, lname, student_id, email, type FROM waiting WHERE id = :id)");
$statement->bindParam(':id', $id);
$statement->execute();

Есть идеи, почему это не работает?

1 Ответ

1 голос
/ 06 июля 2011

Ваш запрос на вставку синтаксически неверен. Снимите скобки со всего выбора, и это должно работать:

INSERT INTO approved (fname, lname, student_id, email, type)
SELECT fname, lname, student_id, email, type FROM waiting WHERE id = :id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...