dopcpc9207 2014-10-12 16:23
浏览 49
已采纳

Php Pdo - 选择最后插入

i have a 'insert into' and 'select' querys together in one query.

$_SESSION['LoginUID']=1;
$Mesaj='ffdd';
$Ek=12;
$cid=112;
$Kaydet=$db->query("
               Insert Into Reply (Kimden,Mesaj,Ek,cid) 
               Values (".$_SESSION['LoginUID'].",'$Mesaj',$Ek,$cid);
               select r_id,KayitZaman from Reply 
               where r_id=LAST_INSERT_ID();")
            ->fetch(PDO::FETCH_ASSOC);

But i cant select last inserted row. It must return like this
<kbd>m_id  </kbd><kbd>KayitZaman       </kbd>
<kbd>16      </kbd><kbd>1413130807000</kbd>

How can i do that in one query? Or other way.

  • 写回答

2条回答 默认 最新

  • dowjgrm6787 2014-10-12 16:59
    关注

    You cannot run two queries at the same time, only one at the time

    After the insert, run the select:

    $stmt = $db->query('select r_id,KayitZaman from Reply where r_id=LAST_INSERT_ID()');
    

    or you can use the built in function to pass the last inserted Id

    $stmt = $db->prepare('select r_id,KayitZaman from Reply where r_id= ?');
    $stmt->execute(array($db->lastInsertId()));
    

    If you want to do the whole thing at once then create a stored procedure.


    EDIT:

    DELIMITER //
     CREATE PROCEDURE sp_insert_get_reply(IN `p_Kimden`, 
                                          IN `p_Mesaj`, 
                                          IN `p_Ek`, 
                                          IN `p_cid`)
       BEGIN
       INSERT INTO `Reply` (`Kimden`, `Mesaj`, `Ek`, `cid`) 
       VALUES (p_Kimden, p_Mesaj, p_Ek, p_cid);
    
       SELECT `r_id`, `KayitZaman` 
       FROM Reply WHERE r_id=LAST_INSERT_ID()
       END //
     DELIMITER ;
    

    then call the function from PDO:

    $stmt = $db->prepare('CALL sp_insert_get_reply(?, ?, ?, ?)');
    $stmt->execute(($_SESSION['LoginUID'], $Mesaj, $Ek, $cid));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)