0

我正在尝试获取行的自动递增列。代码将解释,但基本上我试图将一行插入一个名为 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`)
)

任何帮助将不胜感激,谢谢:)

4

3 回答 3

3

DBConnection != MySQL

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

于 2011-11-04T12:01:12.340 回答
1

PDO 不同于mysql_*函数。

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

$db->lastInsertId();
于 2011-11-04T12:26:04.693 回答
-1

尝试添加

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

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

于 2011-11-04T12:04:02.930 回答