2015-03-15 3 views
0

Я вставляю некоторые данные в таблицу, и мне нужно получить идентификатор этого запроса для вставки в другой запрос сразу после этого запроса.PDO view insert details of query

$database = DatabaseFactory::getFactory()->getConnection(); 
$addproduct = $database->prepare("INSERT INTO products(title, description, price, 
    startingprice, buyitnow, itemcondition, shortdescription, enddate, offers, 
    location, shipping, quantity, date, username) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); 
$result = $addproduct->execute(array($title, $maindescription, $price, $startingprice, 
    $type, $condition, $shortdescription, $enddate, $offers, $country, 
    $shipping, $quantity, date("Y-m-d: H:i:s"), $user->username)); 

print_r($result); 

if($result): 
    //add bid for min price to stop fetching every second 
    $addbid = $database->prepare("INSERT INTO bids(bids_amount,bids_timestamp, bids_username, bids_item) VALUES(?,?,?,?)"); 
    $addbid->execute(array($price, strtotime("NOW"), $user->username, $result->id)); 
    return 2; 
else: 
    return 3; 
endif; 

Как вы можете видеть, я пытаюсь получить идентификатор последнего запроса и вставить, что в мой второй запрос, чтобы «bids_items».

Как я могу получить массив данных, которые я вставляю в свой первый запрос?

+0

Это должно помочь: http://php.net/manual/en/pdo.lastinsertid.php. '$ database-> lastInsertId();' должен получить идентификатор последнего запроса на вставку. – fijas

ответ

0

Просто используйте LastInsertId:

$result = $addproduct->execute(...); 
$inserted_id = $database->lastInsertId; 

Затем используйте $ inserted_id по мере необходимости в последующих запросах