使用Select(PDO)和php插入

时间:2014-09-22 10:58:21

标签: php pdo

好的,所以我需要在表中插入一些值,但我需要搜索数据库中的一个数据,所以我试着这样做

$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]:非空违规:7错误:“username”列中的空值违反非空约束DETAIL:失败行包含(6,null,2014-09-22 13:06:33.262)。< / p>

我在数据库中尝试了查询并且它有效,所以我猜在bindParam中有一些错误但我无法理解它是什么...所以如果有人能帮助我,我会很感激,谢谢

1 个答案:

答案 0 :(得分:2)

变化

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

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

将您的查询更新为此类

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

只需绑定params并运行查询。