相关疑难解决方法(0)

如何在PHP中获取MySQL表的最后插入ID?

我有一张表,经常插入新数据.我需要获取表格的最后一个ID.我怎样才能做到这一点?

它类似SELECT MAX(id) FROM table吗?

php mysql

88
推荐指数
6
解决办法
37万
查看次数

MySQL:LAST_INSERT_ID()返回0

我有这个测试表:

CREATE TABLE IF NOT EXISTS `test` (
    `id` INT(10) AUTO_INCREMENT,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4;
Run Code Online (Sandbox Code Playgroud)

使用这三个中的任何一个插入

INSERT INTO `test` (`id`) VALUES (NULL);
INSERT INTO `test` (`id`) VALUES (0);
INSERT INTO `test` () VALUES ();
Run Code Online (Sandbox Code Playgroud)

发行

SELECT LAST_INSERT_ID();
Run Code Online (Sandbox Code Playgroud)

但查询总是会导致0.

PHP mysql_insert_idPDO::lastInsertId()收益也没有结果.

我整整一天都在玩弄它无法让它发挥作用.想法?

mysql sql database

16
推荐指数
3
解决办法
4万
查看次数

最后从特定表插入的id

SELECT LAST_INSERT_ID() as id FROM table1
Run Code Online (Sandbox Code Playgroud)

为什么此查询有时会返回除table1之外的另一个表的最后插入的id?我在Node.js(db-mysql插件)中调用它,我只能进行查询.

mysql

10
推荐指数
1
解决办法
5万
查看次数

PHP MySQL INSERT通过一次查询执行返回值

在执行INSERT查询时,是否有从MySQL/PHP返回的内容?这是我在CLASS中的功能.

function mysqlQuery($query) {
   // Gets the results from the query
   $results = mysql_query($query, $this->connection);

   // Loops through the queried results as an multi-dimensional array
   while($rows = mysql_fetch_array($results, MYSQL_ASSOC)) {
      // Push results to single array
      $rs[] = $rows;
   }

   // Return results as array
   return $rs;
}
Run Code Online (Sandbox Code Playgroud)

这就是我调用函数的方式

$rs = $dbh->mysqlQuery($query);
Run Code Online (Sandbox Code Playgroud)

但执行INSERT查询时,$ rs不返回任何内容.我的功能需要帮助还是默认行为?任何提示也会有所帮助.

DUH,谢谢你提醒我它返回TRUE/FALSE.由于某种原因,我把它放在脑子里它实际上返回了另一个值,但在查看我的函数后,我看到我没有检查TRUE/FALSE条件并且只循环遍历结果数组.

感谢所有正确的答案,但首先要正确回答得分,干杯!

php mysql sql return-value

8
推荐指数
2
解决办法
6万
查看次数

标签 统计

mysql ×4

php ×2

sql ×2

database ×1

return-value ×1