我如何插入一个数据到2个不同的表格中使用1表格在PHP Pdo?
问题描述:
这是我的receptionistAction.php文件,它使我能够操纵我的窗体的crud功能。我如何插入一个数据到2个不同的表格中使用1表格在PHP Pdo?
-
我试图插入接待员及其用户信息到不同的SQL语句,但它导致系统中出现错误。
<?php session_start(); include '../../dbConnect.php'; $pdo = new dbConnect(); $tblName = 'receptionist'; $tblName2 = 'users'; if(isset($_REQUEST['action_type'])!empty($_REQUEST['action_type'])){ if($_REQUEST['action_type'] == 'add'){ $userData = array( 'Rec_lastName' => $_POST['rlname'], 'Rec_firstName' => $_POST['rfname'], 'Rec_contact' => $_POST['rcontact'], 'Rec_emailAdd' => $_POST['remailAddress'], 'Rec_gender' => $_POST['rgender'] ); $userData2 = array( 'username' => $_POST['rusername'], 'password' => md5($_POST['rpassword']), 'userType' => "receptionist" ); $insert = $pdo->insert($tblName,$userData); $insert2 = $pdo->insert($tblName2,$userData2); header("Location:../Maintenance-Receptionists.php");
这是数据库连接我的代码使我receptionistAction.php执行插入功能的污物。
public function insert($table,$data){
if(!empty($data) && is_array($data)){
$columns = '';
$values = '';
$i = 0;
$columnString = implode(',', array_keys($data));
$valueString = ":".implode(',:', array_keys($data));
$sql = "INSERT INTO ".$table." (".$columnString.") VALUES
(".$valueString.")";
$query = $this->db->prepare($sql);
foreach($data as $key=>$val){
$query->bindValue(':'.$key, $val);
}
$insert = $query->execute();
return $insert?$this->db->lastInsertId():false;
}else{
return false;
}
}
答
您需要更改条件以便检查action_type
。这会产生错误
if(isset($_REQUEST['action_type'])!empty($_REQUEST['action_type'])){
TO
if(isset($_REQUEST['action_type']) && !empty($_REQUEST['action_type'])){
'如果(isset($ _ REQUEST [ 'ACTION_TYPE'])!空($ _ REQUEST [ 'ACTION_TYPE'])){'不会工作.. –
也叫你'insertRowsJoin'但是显示'insert':/ –