pdo中的最后一个插入ID

时间:2013-05-31 04:45:17

标签: mysql ajax forms pdo

我有一个只有一个输入的表单。当我单击按钮时,会发出一个AJAX请求并将数据发送到response.php,后者使用pdo库将数据插入db。这里没关系,但在页面中,有一个成功函数将数据加载到表单中 - 当ajax请求完成时,结果为空...我需要刷新(F5)页面才能看到数据。 。 这是代码:

<?php
include_once("config.php");
if (!empty($_POST)) {
        try{
    $statement = $conn->prepare("INSERT INTO DIAGNOSTICO (id_paciente, id_doctor, hconsulta) VALUES (?, ?, ?)");

    if ($statement->execute(array($_POST['id_paciente'], $_POST['id_doctor'], $_POST['hconsulta'])));
        $dbSuccess = true;

} catch (Exception $e) {
    $return['databaseException'] = $e->getMessage();
}
 {
echo $conn->lastInsertId(); 
echo '<li id="item_'.$row["id_diagnostico"].'">';
echo '<div class="del_wrapper"><a href="#" class="del_button" id="del-'.$row["id_diagnostico"].'">';
echo '<img src="../images/icon_del.gif" border="0" />';
echo '</a></div>'; echo ' Fecha de consulta : ';echo $row["f_diagnostico"]; echo ' <br><br> ';
echo $row["hconsulta"].'</li>';
}
   $dbh = null;  
}
?>

它正在工作,但是当在页面中时,结果从ajax请求返回并显示id但不显示数据......我需要数据结果......你能帮助我吗?

最好的问候!

1 个答案:

答案 0 :(得分:1)

使用lastinsertid后,您必须select data使用

$sth = $dbh->prepare("SELECT * FROM DIAGNOSTICO WHERE id_diagnostico= ".$conn->lastInsertId());
$sth->execute();

$row = $sth->fetch(PDO::FETCH_ASSOC);
echo '<li id="item_'.$row["id_diagnostico"].'">';
echo '<div class="del_wrapper"><a href="#" class="del_button" id="del-'.$row["id_diagnostico"].'">';
echo '<img src="../images/icon_del.gif" border="0" />';
echo '</a></div>'; echo ' Fecha de consulta : ';echo $row["f_diagnostico"]; echo ' <br><br> ';
echo $row["hconsulta"].'</li>';

阅读http://php.net/manual/en/pdostatement.fetch.php