我刚刚开始用PHP / MySQl编写,所以你从下面的代码中了解到为什么我要将它更新到PDO,各种各样的东西都没有继续这里。
我已经能够使用PDO执行基本的INSERT,即
$sql=
"INSERT INTO user_collections
('id','user_id','collection_id')
VALUES('',?,?)";
$insertsql=$db_connect->prepare($sql);
$insertsql->execute(array($newUserID,$collection_id));
但是我坚持下面的INSERT INTO ... SELECT查询。基本上,我从表格中获取信息并从表格中获取信息并尝试插入第二个表格。
$sql=
"INSERT INTO table1 (id,user_id,collection_id,sticker_id,status)
SELECT '', '$newUserID' ,'".$_POST['collection_id']."',t2.sticker_number,'N')."'
FROM table2 t2
WHERE t2.collection_id='".$_POST['collection_id']."'";
$insertsql=mysqli_query($db_connect ,$sql);
我知道上述内容适用于当前状态,但显然不是最好的设计。任何人都可以帮我翻译成PDO吗?
答案 0 :(得分:2)
足够简单:
$sql = "
INSERT INTO `table1` (`id`, `user_id`, `collection_id`, `sticker_id`, `status`)
SELECT '', ?, ?, `t2`.`sticker_number`, 'N'
FROM `table2` AS `t2`
WHERE `t2`.`collection_id` = ?
";
现在只需准备好您的查询并传递$newUserID
,$_POST['collection_id']
和$_POST['collection_id']
作为参数,您就完成了所有操作:)