PDO获取无法使用INSERT、UPDATE和SELECT查询


$sql = "INSERT INTO book (bookname) values('kkkkkkkkk'); 
SET @bookid = LAST_INSERT_ID(); 
INSERT INTO paper (papername) values('hhhhhhh'); 
SET @paperid = LAST_INSERT_ID(); 
UPDATE author SET  bookid = @bookid, paperid = @paperid WHERE id = 11;
SELECT @bookid as bookid, @paperid as paperid FROM DUAL;"
$stmt = $pdoConnect->prepare($sql);
$stmt->execute();
$numofnewParn =$stmt->rowCount();
if($numofnewParn>0){
$newParentDt = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($newParentDt);
}  

我有一组插入,LAST_INSERT_ID分配给各个参数。

稍后,使用参数更新表。

直到CCD_ 1不是问题。

我的问题是,我可以通过添加SELECT来继续查询,并像$stmt->fetch(PDO::FETCH_ASSOC)一样获取数据吗?

还是说这没有道理?如果是,是否有任何来源?

因为上面的代码不会打印出来。

您需要使用PDOStatement::nextRowset,请参阅此处,以转到多语句中的下一个查询结果。。。然而,更干净的设置是将其分解为单语句查询,并使用PHP变量保存bookid和paperid值:

<?php
$sql = "INSERT INTO book (bookname) values('kkkkkkkkk');"
$stmt = $pdoConnect->prepare($sql);
$stmt->execute();
$bookid = $pdoConnect->lastInsertId();
$sql = "INSERT INTO paper (papername) values('hhhhhhh');"
$stmt = $pdoConnect->prepare($sql);
$stmt->execute();
$paperID = $pdoConnect->lastInsertId();
$sql = "UPDATE author SET  bookid = $bookid, paperid = $paperid WHERE id = 11;"
$stmt = $pdoConnect->prepare($sql);
$stmt->execute();

最新更新