简体   繁体   English

MySQL-获取上次插入的ID不起作用

[英]Mysql - Get Last inserted ID is not working


I dont know why this is not working. 我不知道为什么这不起作用。 The LAST_INSERT_ID() is not being catched, can someone help me please? LAST_INSERT_ID()没有被捕获,有人可以帮我吗?

$query = " 
            INSERT INTO products_categories ( 
                name,
                url
            ) VALUES ( 
                :name,
                :url
            ) SELECT LAST_INSERT_ID();
        "; 
        $query_params = array( 
            ':name' => $_POST['name'], 
            ':url' => $_POST['url']
        ); 
        try{ 
            $stmt = $db->prepare($query); 
            $result = $stmt->execute($query_params); 
        } 
        catch(PDOException $ex){
            echo 0;
            return true;
        }
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        $id_category = $result["id"];

Try this; 尝试这个;

<?php
$query = " 
            INSERT INTO products_categories ( 
                name,
                url
            ) VALUES ( 
                :name,
                :url
            )
        "; 
        $query_params = array( 
            ':name' => $_POST['name'], 
            ':url' => $_POST['url']
        ); 
        try{ 
            $stmt = $db->prepare($query); 
            $result = $stmt->execute($query_params); 
        } 
        catch(PDOException $ex){
            echo 0;
            return true;
        }
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        //$id_category = $result["id"];
        $id_category = $db->lastInsertId();

Hope it helps 希望能帮助到你

"You can remove your SELECT LAST_INSERT_ID() part from the query and use $db->lastInsertId(); instead." “您可以从查询中删除SELECT LAST_INSERT_ID()部分,而使用$ db-> lastInsertId();代替。” - @barell -@barell

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM