我试图显示最后插入的记录。目前我正在尝试为最后插入的id回显我的绑定值。
$stmt= $dbh->prepare("INSERT INTO child (FName, LName, Age, Sex, Allergies) values (:FName, :LName, :Age, :Sex,:Allergies)");
$stmt->bindValue(':FName', $_POST['FName'], PDO::PARAM_STR);
$stmt->bindValue(':LName', $_POST['LName'], PDO::PARAM_STR);
$stmt->bindValue(':Age', $_POST['age'], PDO::PARAM_STR);
$stmt->bindValue(':Sex', $_POST['sex'], PDO::PARAM_STR);
$stmt->bindValue(':Allergies', $_POST['allergies'], PDO::PARAM_STR);
$add1=$stmt->execute();
$newchild=$dbh->lastInsertid();
以上只是创建记录
$stmt=$dbh->prepare("INSERT INTO pcdetails (childID, parentID) values ( :newchild, :newparent)");
$stmt->bindValue(':newchild', $newchild, PDO::PARAM_STR);
将新的子记录绑定到$ newchild的位置。我只使用最后一个插入ID作为单独的表格,一旦插入子记录和父记录,它将自动生成。这一切都正常工作......没有任何错误。
现在我的问题:我试图使用相同的bindValue来回显插入数据库的过去记录。
我一直只是使用一个显示所有记录的查询:
$sql = "select child.childid, FName, LName, age, sex, allergies from child ORDER BY LName, FName
但我想要显示最后的记录。
我尝试了以下内容:
$sql = "select child.childid, FName, LName, age, sex, allergies from child ORDER BY LName, FName where childid = "<?php echo $newchild; ?>"";
但我得到错误“解析错误:语法错误,意外'?'”。我不知道为什么我会收到这个错误。
任何帮助都会很棒。
感谢。
答案 0 :(得分:0)
删除PHP标记,因为您已经在PHP标记中。您的ORDER BY子句也需要在WHERE子句
之后$sql = "select child.childid, FName, LName, age, sex, allergies
FROM child
WHERE childid = $newchild
ORDER BY LName, FName";