2016-05-15 94 views
-3
$query2 = $dbs->prepare("INSERT INTO service_info(user_id) 
SELECT id 
FROM customer_info"); 

$query2 -> bindParam(':id',$_SESSION['id']); 

if($query2->execute()){ 
    return true; 
} 
else{ 
    return false; 
} 

塊引用PHP PDO的INSERT INTO SELECT查詢查詢不起作用

它不工作,爲什麼? 我的PDO查詢是否錯誤? 這是我的代碼在我的功能寄存器:

塊引用

public function register($firstname, $lastname, $email, $age, $contact, $gender, $password){ 

include '/include/db_config.php'; 

$query = $dbs->prepare("INSERT INTO customer_info(firstname,lastname,email,age,contact,gender,password) 
VALUES(:firstname,:lastname,:email,:age,:contact,:gender,:password)"); 


$query -> bindParam(':firstname', $firstname); 
$query -> bindParam(':lastname', $lastname); 
$query -> bindParam(':email', $email); 
$query -> bindParam(':age', $age); 
$query -> bindParam(':contact',$contact); 
$query -> bindParam(':gender',$gender); 
$query -> bindParam(':password', $password); 

if($query->execute()){ 
return true; 
} 
else{ 
return false; 
} 

$query2 = $dbs->prepare("INSERT INTO service_info(user_id) 
SELECT id 
FROM customer_info WHERE id = :user_id"); 

$query2 -> bindParam(':id',$_SESSION['user_id']); 

if($query2->execute()){ 
    return true; 
} 
else{ 
    return false; 
} 
} 

塊引用

所以這裏有什麼問題>。 < 請幫我即時乞討你們

塊引用

+0

您的查詢無效您試圖用SELECT實現什麼功能?您還將參數綁定到查詢,但查詢字符串沒有佔位符。 – JimL

+3

什麼是綁定?您的查詢期望 –

+0

以外的任何內容只是檢查錯誤,您會發現錯誤的位置。請參閱手冊 –

回答

0

insertselect部分需要where條款。沒有這個,你從customer_info表中選擇並插入每個idbind也應該導致查詢失敗,因爲它沒有佔位符當前映射到。

嘗試(與$_SESSION['id']被映射到替換列somecolumn):

$query2 = $dbs->prepare("INSERT INTO service_info(user_id) 
SELECT id 
FROM customer_info 
where somecolumn = :id"); 

$query2 -> bindParam(':id',$_SESSION['id']); 

if($query2->execute()){ 
    return true; 
} 
else{ 
    return false; 
} 

如果$_SESSION['id']userid那麼你並不需要選擇的。

$query2 = $dbs->prepare("INSERT INTO service_info(user_id) values (:id)"); 

$query2 -> bindParam(':id',$_SESSION['id']); 

if($query2->execute()){ 
    return true; 
} 
else{ 
    return false; 
} 
+0

它仍然不會複製我的customer_info ID到service_info USER_ID – Ginxx0009

+0

你把'somecolumn'改成了列它假設是?'service_info'是否需要任何其他列也有數據?在該查詢上拋出任何錯誤? – chris85

+0

先生。它是否將我的customer_info ID複製到service_info USER_ID? – Ginxx0009