我正在尝试获取一行的自动增量列。代码将解释,但基本上我试图在一个名为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`)
)
非常感谢任何帮助,谢谢:)
答案 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());
这可能会显示数据库查询正在生成的任何错误