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

DB接続 != MySQL

そのような異なるライブラリの関数を使用することはできません。同等のものに変更するか、ものをに変更する必要があります。mysql_num_rows()DBConnectionDBConnectionmysql_*

于 2011-11-04T12:01:12.340 に答える
1

PDO は関数とは異なりmysql_*ます。

lastInsertId()PDO を使用したので、PDO オブジェクトのメソッドを使用する必要があります。

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

追加してみる

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

これにより、データベース クエリが生成しているエラーが表示される場合があります。

于 2011-11-04T12:04:02.930 に答える