这是我的代码,我是编程新手,这是为我们的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它什么都不做