2017-11-11 396 views
1
  1. 這是我的receptionistAction.php文件,它使我能夠操縱我的窗體的crud功能。我如何插入一個數據到2個不同的表格中使用1表格在PHP Pdo?

  2. 我試圖插入接待員及其用戶信息到不同的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; 
    } 
} 
+0

'如果(isset($ _ REQUEST [ 'ACTION_TYPE'])!空($ _ REQUEST [ 'ACTION_TYPE'])){'不會工作.. –

+0

也叫你'insertRowsJoin'但是顯示'insert':/ –

回答

0

您需要更改條件以便檢查action_type。這會產生錯誤

if(isset($_REQUEST['action_type'])!empty($_REQUEST['action_type'])){ 

TO

if(isset($_REQUEST['action_type']) && !empty($_REQUEST['action_type'])){ 
相關問題