【问题标题】:mysqli auto incremented primary id that was generated生成的 mysqli 自动递增的主 ID
【发布时间】:2012-11-23 21:07:55
【问题描述】:
$insert = "INSERT INTO event_tracker_table (event_name, event_location, location_number, event_creator_username, event_creator_email)

            VALUES (
                    '".$_POST['event_name']."',
                    '".$_POST['event_location']."',
                    '".$_POST['location_number']."',
                    '".phpCAS::getAttribute('uid')."',
                    '".phpCAS::getAttribute('mail')."'
                    )";


            $mysqli->query($insert);

我如何获得这个由 MySQL 生成的 AUTO INCREMENT?我试过了,但它不起作用:

$statement = $mysqli->query($insert);

echo $statement->insert_id; 

【问题讨论】:

  • @Pekka 自动增量主 ID 的名称是“eventid”
  • @E_p 我没有使用 pdo,我使用的是 mysqli...请阅读问题
  • 你想要$mysqli->insert_id
  • 不,您使用的是$statement_insert_id

标签: php mysql mysqli


【解决方案1】:

插入 id 是 MYSQLI 对象的属性,而不是 MYSQLI 结果对象:

$statement = $mysqli->query($insert);
echo $mysqli->insert_id; // correct
echo $statement->insert_id; //not correct

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

【讨论】:

  • 谢谢!这个答案非常简洁明了,而且奏效了!
【解决方案2】:

您可以使用

获取 auto_increment 值
$id = mysqli_insert_id($mysqli);

请参阅mysqli_insert_id 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2021-08-06
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多