Php 为什么$wpdb->;insert_id和mysql_insert_id()返回一个额外的';1';最后?

Php 为什么$wpdb->;insert_id和mysql_insert_id()返回一个额外的';1';最后?,php,wordpress,Php,Wordpress,我需要检索最后一个查询的自动增量值的ID 我的查询如下所示: $result = $wpdb->query( $wpdb->prepare( " INSERT INTO $table_name ( name, season, copyright, description, path ) VALUES ( %s, %s, %s, %s, %s )", $galleryData['name'], $galleryData['season'], $ga

我需要检索最后一个查询的自动增量值的ID

我的查询如下所示:

  $result = $wpdb->query( $wpdb->prepare( "
    INSERT INTO $table_name
    ( name, season, copyright, description, path )
    VALUES ( %s, %s, %s, %s, %s )", 
    $galleryData['name'], $galleryData['season'], $galleryData['copyright'], $galleryData['description'], $galleryData['path'] ) );

  // Let's output the last autogenerated ID.
  echo $wpdb->insert_id;

  // This returns the same result
  echo mysql_insert_id();
查看我的DB表,我看到行数从1到24(24行)。 但是使用
$wpdb->insert_id
mysql_insert_id()
返回
241

执行新插入将返回251、261、271等。为什么我要在最后加上额外的“1”

更新
多亏了佩卡(我最好记下欠他多少啤酒),我才算出了

再往下看代码,我得到了:

  if(!$result)
    _e("[DB error] Ups. Something went wrong when trying to insert the event.");
  else
    echo true;

这是输出的最后一条语句(echo true)

我赌的是美味的克尔什:

原因实际上是代码后面的一个
echo
,它回显某个布尔变量,其
true
将转换为
1

如果我错了,我会像男人一样接受落选

(请原谅这个愚蠢的回答,已经很晚了,我还在工作:)


更新:啊,乔伊,我是对的

你是说上面的代码会回显
241241
251251
,等等?我敢打赌,在某个地方会输出一个布尔变量(回显时转换为
1
)。不,运行
$wpdb->insert_id
mysql_insert_id()
将返回
241
251
261
等等。第一个到的数字是正确的,但随后添加了1。在MySQL中,最高的ID是
26
。那么上面的代码会产生什么结果呢?您可以尝试
echo“”。MySQL\u insert\u ID()?如果输出的
'241'
中的1包含在引号中,我相信这一点,但不是在之前;)啊哈。你是我的朋友!下次我去德国的时候,我会给你买一大杯冰镇可乐;)虽然我很惊讶你住在德国。佩卡听起来很完美:)是的,我也在工作到很晚@史蒂文:嘿,永远欢迎!:)我是半个芬兰人,因此得名。我马上就要结束了,“晚上!