Php 在同一页上为不同的表插入和选择语句
我正在写一本啤酒杂志。当我想创建一个新的日记账条目时,我会在日记账表中插入一行,其中包含我正在品尝的啤酒的ID。啤酒存放在一张单独的桌子上。将行插入日记账表后,我想从beerData表中选择啤酒,以便在用户完成输入时向用户显示啤酒。我的插入正确,但我没有得到任何关于啤酒名称的回复。我尝试了两种不同的方法,但都不奏效Php 在同一页上为不同的表插入和选择语句,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我正在写一本啤酒杂志。当我想创建一个新的日记账条目时,我会在日记账表中插入一行,其中包含我正在品尝的啤酒的ID。啤酒存放在一张单独的桌子上。将行插入日记账表后,我想从beerData表中选择啤酒,以便在用户完成输入时向用户显示啤酒。我的插入正确,但我没有得到任何关于啤酒名称的回复。我尝试了两种不同的方法,但都不奏效 <?php if (isset( $_POST['newJournalEntry'] )) { //Define POST Variables $beer
<?php
if (isset( $_POST['newJournalEntry'] )) {
//Define POST Variables
$beerID = $_POST['id'];
//Create Record in Beer Journal
//SQL Query
$query = "INSERT INTO journal (beerID)
VALUES (:beerID);
SELECT beer FROM beerData
WHERE id = :beerID;";
//Prepare Query, Bind Parameters, Excute Query
$STH = $DBH->prepare($query);
$STH->bindParam(':beerID', $beerID);
$STH->execute();
$journal_id = $DBH->lastInsertId();
while($row = $STH->fetch(PDO::FETCH_ASSOC)){
echo $row['beer'];
}
} else {
echo "Test";
}
?>
第二次尝试:
<?php
if (isset( $_POST['newJournalEntry'] )) {
//Define POST Variables
$beerID = $_POST['id'];
//Create Record in Beer Journal
//SQL Query
$query = "INSERT INTO journal (beerID)
VALUES (:beerID)";
//Prepare Query, Bind Parameters, Execute Query
$STH = $DBH->prepare($query);
$STH->bindParam(':beerID', $beerID);
$STH->execute();
$journal_id = $DBH->lastInsertId();
//SQL Query
$query2 = "SELECT beer FROM beerData WHERE id = :beerID";
//Prepare Query, Bind Parameters, Execute Query
$STH2 = $DBH->prepare($query2);
$STH2->bindParam(':beerID', $beerID);
$STH2->execute();
while($row = $STH2->fetch(PDO::FETCH_ASSOC)){
echo $row['beer'];
}
} else {
echo "ELSE!!!";
}
?>
问题1:为什么不在两个查询中进行设置?我在第二个示例中进行了设置。是否使用您期望的id值正确设置了$beerID?对于$journal_idYeah,同样的问题。我没有得到任何实际的错误。select查询的结果没有回显。请尝试在bindParam之前打印$beerID,查看它是否仍保留有效ID