【问题标题】:how to get the last insert id如何获取最后一个插入 id
【发布时间】:2015-01-06 04:51:58
【问题描述】:

如何获取最后一个插入id

INSERT INTO `cscart_static_data` ( `param_id` , `param` , `param_2` , `param_3` , 
`param_4` , `param_5` , `section` , `status` , `position` , `parent_id` , `id_path` , 
`localization` , `company_id` ) 
   VALUES ('','index.php?dispatch=postview.view', '', '', '', '1', 'A', 'A', '0', 
           '0', '152', '', '1' ); 

INSERT INTO `cscart_static_data_descriptions` ( `param_id` , `lang_code` , `descr` )
 VALUES ( SELECT LAST_INSERT_ID(), 'en', 'Blog' ); 

这里,第二个查询对我不起作用,因为 'SELECT LAST_INSERT_ID()' 是空的。如何解决

【问题讨论】:

标签: php xml cs-cart


【解决方案1】:
$sql = INSERT INTO `cscart_static_data` ( `param_id` , `param` , `param_2` , `param_3` , `param_4` , `param_5` , `section` , `status` , `position` , `parent_id` , `id_path` , `localization` , `company_id` ) VALUES ('','index.php?dispatch=postview.view', '', '', '', '1', 'A', 'A', '0', '0', '152', '', '1' ); 
 mysql_query($sql);
 $last_insert_id = mysql_insert_id();

现在在您的选择查询中使用这个“$last_insert_id

【讨论】:

【解决方案2】:

试试这个..

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

参考:

http://php.net/manual/en/function.mysql-insert-id.php

http://php.net/manual/en/mysqli.insert-id.php

【讨论】:

    【解决方案3】:

    在 PHP 语言中有一个函数可用,那就是 mysqli_insert_id()。借助此函数,您可以从表中获取最后插入的 id。

     <!DOCTYPE html>
     <html>
    <body>
        <?php
        $con = mysqli_connect('localhost', 'root', '','test');
        //$db = mysqli_select_db('test', $con);
        echo 'Date = '.date('Y-M-d H:i:s')."<br/>";
        $sql = "INSERT INTO `sample`(`name`, `address`, `date`) VALUES ('Pabitra','Kolkata'," . strtotime(date('Y-M-d H:i:s')) . ")";
        echo $sql;
        if (mysqli_query($con,$sql)) {
            echo "Insert successfully";
        }else{
            echo 'error eccured.';
        }
        ?>
        <?php
        $id = mysqli_insert_id($con);
        $sql = "select * from sample where id = ".$id;
        $result = mysqli_query($con,$sql);
        $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
             print_r($row);
        $myXMLData = "<?xml version='1.0' encoding='UTF-8'?>
        <note>
        <id>".$id."</id>
        <name>".$row['name']."</name>
        <address>".$row['address']."</address>
        <date>".date('Y-M-d H:i:s',strtotime($row['date']))."</date>
        </note>";
    
        $xml = simplexml_load_string($myXMLData) or die("Error: Cannot create object");
        print_r($xml);
        ?>
    
    </body>
    

    【讨论】:

    • 先生,我在xml文件中有上面的代码。这里如何声明变量
    • INSERT INTO cscart_static_data_descriptions ( param_id , lang_code , descr ) 值 ( SELECT LAST_INSERT_ID(), 'en', 'Blog' );我在 xml 文件中有这个查询。这里如何获取 SELECT LAST_INSERT_ID() ?
    猜你喜欢
    • 2023-03-16
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 2012-02-12
    • 2016-09-29
    • 2011-03-06
    相关资源
    最近更新 更多