mysql_insert_id和我的困境?

时间:2011-11-04 11:59:22

标签: php mysql mysql-insert-id

我正在尝试获取一行的自动增量列。代码将解释,但基本上我试图在一个名为orders的表中插入一行,然后我想得到自动递增的数字。 这是我的PHP。


<?php

$db = DBConnection::connect();

$q = "INSERT INTO orders (customerid, orderdate) VALUES (".$customerid.", CURRENT_TIMESTAMP)";

$ps = $db->prepare($q);     
$ps->execute();
$db = null;

echo mysql_insert_id();
?>

在这个阶段,我真正想做的就是回显自动编号。

这是我的结构


CREATE TABLE `orders` (
  `orderid` int(25) NOT NULL AUTO_INCREMENT,
  `customerid` int(11) NOT NULL,
  `orderdate` date DEFAULT NULL,
  PRIMARY KEY (`orderid`),
  KEY `orderid` (`orderid`)
)

非常感谢任何帮助,谢谢:)

3 个答案:

答案 0 :(得分:3)

DBConnection!= MySQL

您不能使用来自不同库的函数。您必须mysql_num_rows()更改为DBConnection等效内容,或将DBConnection内容更改为mysql_*

答案 1 :(得分:1)

PDO与mysql_*函数不同。

由于您使用过PDO,因此必须使用PDO对象中的方法lastInsertId()

$db->lastInsertId();

答案 2 :(得分:-1)

尝试添加

$ps->execute()
or die(mysql_error());

这可能会显示数据库查询正在生成的任何错误