2014-09-22 89 views
1

好了,所以我需要一些值插入表中,但我需要搜索的數據庫中的數據之一,所以我試圖做這樣的插入具有選擇(PDO)和PHP

$bookid = $_GET['var']; 
$username = $_GET['username']; 

$quer2 = "Insert Into reserved (username,bookid) VALUES ((SELECT userid FROM users WHERE username=:username),:var)"; 
$query2 = $dbc->prepare($quer2); 
$query2 ->bindParam(':username',$username); 
$query2 ->bindParam(':var',$bookid); 
$query2 ->execute(); 

的問題是,我得到這個錯誤

SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "username" violates not-null constraint DETAIL: Failing row contains (6, null, 2014-09-22 13:06:33.262).

我試圖在數據庫中查詢和它的作品,所以我想有在bindParam一些錯誤,但我不明白它是什麼......所以,如果任何人都可以幫助我,我將不勝感激,謝謝

+1

有一個錯誤的位置:$ QUERY2 - > bindParam( ':無功',$ VAR);使用$ BOOKID而不是$ VAR – Pundit 2014-09-22 11:03:37

回答

2

變化

$query2 ->bindParam(':var',$var); 

$query2 ->bindParam(':var',$bookid); 

更新您的查詢像這樣

Insert Into reserved (username,bookid) 
SELECT userid, :var FROM users WHERE username=:username 

只是綁定PARAMS和運行查詢。

+0

THX和遺憾,但是這是一個愚蠢的錯誤和問題仍然ONY它是「用戶名」現在......我會重新編輯的代碼 – Alex 2014-09-22 11:09:36

+0

@Alex我已經更新我的答案,你現在可以檢查它。 – 2014-09-22 11:18:05

+0

謝謝你的作品 – Alex 2014-09-22 11:45:57