mysql_insert_id и мои беды? - PullRequest
       8

mysql_insert_id и мои беды?

0 голосов
/ 04 ноября 2011

Я пытаюсь получить автоматически увеличенный столбец строки.Код объяснит, но в основном я пытаюсь вставить строку в таблицу с именем 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 ]

3 голосов
/ 04 ноября 2011

DBConnection! = MySQL

Вы не можете использовать функции из разных библиотек. Вы должны либо изменить mysql_num_rows() на DBConnection эквивалент, либо изменить DBConnection материал на mysql_*.

1 голос
/ 04 ноября 2011

PDO отличается от mysql_* функций.

Поскольку вы использовали PDO, вы должны использовать метод lastInsertId() из объекта PDO:

$db->lastInsertId();
0 голосов
/ 04 ноября 2011

Попробуйте добавить

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

Это может показать любые ошибки, которые генерирует запрос к базе данных

...