添加一个现有用户并将其插入到另一个表中:不知道PDO中的语法是什么



这是我的代码,我是编程新手,这是为我们的capstone项目准备的。

我想从"employee"表中选择一个现有用户,并仅将该用户的主键插入"departmenthead"表,以将其设置为部门主管。

我的问题是,我不知道什么是完美的语法,我试着运行我的代码,没有错误,只显示了白色页面。

<?php
session_start();
error_reporting(0);
include('include/db.php');
if(strlen($_SESSION['alogin'])==0){
header('location:index.php');
}
else{
if(isset($_GET['empid'])){
$id=$_GET['empid'];
$query1=$dbh->prepare('INSERT INTO departmenthead SELECT * FROM employee WHERE emp_id=:empid');
$query2=$dbh->prepare('UPDATE FROM employee WHERE emp_id=:empid');
$dbh->beginTransaction();
if ($query1->execute([':empid' => $id]) && $query2->execute([':empid' => $id])) {
$dbh->commit();
header("Location:adddepthead.php");
} else {
$dbh->rollBack();
}
}?>

您的查询没有指定列

"INSERT INTO departmenthead (id, name, surname) 
SELECT id, name, surname
FROM employee WHERE emp_id=:empid "

注意:从select返回的列与插入列匹配

您的查询也是正确的,但列不匹配。最好指定列

删除query2它什么都不做