mysql_insert_id不返回任何内容

时间:2010-07-21 14:25:05

标签: php

$sql="INSERT INTO wp_comments (comment_post_ID, comment_author, comment_date, comment_content, user_id) 
                VALUES
              ('$qID', '$author', '$dro', '$content', '$_SESSION[user_id]')";

            $result = mysql_query($sql);
            die(last_insert_id());

当我运行此代码时,我只看到白屏,所以last_insert_id()似乎没有返回任何值...我做错了什么?

5 个答案:

答案 0 :(得分:4)

mysql_insert_id()可能是您要检索的最后一行插入ID的函数。

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

答案 1 :(得分:1)

退出时的PHP手册(die是退出的别名):

  

如果status是字符串,则此函数   在退出之前打印状态。

     

如果status是整数,那么该值   将用作退出状态和   没打印。退出状态应该是   在0到254范围内,退出状态   255由PHP保留,不得   使用。状态0用于   成功终止程序。

如果last_insert_id()返回一个整数,则不会打印它。

顺便说一句,last_insert_id不是内置的PHP函数。您还应该确保使用正确的功能。

尝试这样做(假设定义了last_insert_id函数):

print last_insert_id();
exit();

答案 2 :(得分:1)

如上所述,请先检查mysql_error()mysql_errno()。抓住他们的好方法是:

if (mysql_errno()==0) {
    // all was good
    $last_insert_id = mysql_insert_id();
}
else {
    // error occurred
    echo mysql_error();
}

答案 3 :(得分:0)

mysql_insert_id()而非last_insert_id();

答案 4 :(得分:0)

您需要在PHP中运行last_insert_id作为常规MYSQL查询。像这样:

 $result = mysql_query("SELECT LAST_INSERT_ID() FROM wp_comments");