Php PDO查询不工作

Php PDO查询不工作,php,mysql,pdo,Php,Mysql,Pdo,我有一组PDO语句似乎不起作用。基本上,我试图更新1个表中的“waiting”值,然后选择同一行并将其插入另一个表中 $statement = $db->prepare("UPDATE waiting SET wait = :status WHERE id = :id"); $statement->bindValue(':status', 0); $statement->bindParam(':id', $id); $statement->execute(); $stat

我有一组PDO语句似乎不起作用。基本上,我试图更新1个表中的“waiting”值,然后选择同一行并将其插入另一个表中

$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
设置为null,但也不起作用:

$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();

你知道为什么这不起作用吗?

你的插入查询语法错误。从select周围移除支架,它应该可以工作:

INSERT INTO approved (fname, lname, student_id, email, type)
SELECT fname, lname, student_id, email, type FROM waiting WHERE id = :id

您的insert查询语法错误。从select周围移除支架,它应该可以工作:

INSERT INTO approved (fname, lname, student_id, email, type)
SELECT fname, lname, student_id, email, type FROM waiting WHERE id = :id

您是否收到任何错误消息?定义“未工作”。两个查询都没有正确执行?您是否从
$statement->errorInfo()
收到错误消息?您的错误:
插入到已批准的(…)**值**(…)
@Saxoier:只有在插入文字时才需要值。在
中插入。。。选择…
query这实际上是非法语法。对不起,我应该发布错误。这是一个常规SQL语法错误。您是否收到任何错误消息?定义“未工作”。两个查询都没有正确执行吗?您是否从
$statement->errorInfo()
收到错误消息?您的错误:
插入到已批准的(…)**值**(…)
@Saxoier:只有在插入文字时才需要值。在
中插入。。。选择…
query这实际上是非法语法。对不起,我应该发布错误。这是一个常见的SQL语法错误。