【发布时间】:2015-05-10 18:58:53
【问题描述】:
我试图在我的 Orders 表中获取最后插入的标识,以便为我的购物车数组中的每个项目将相同的 ID 插入到链接的 OrderItems 表中。我的 Orders 表“orderID”是我的标识变量,但是当我尝试提取最近插入的值时,结果为“null”。对 Orders 表的原始 INSERT 查询是成功的,但由于某种原因“SELECT @@IDENTITY”查询不成功。
PHP 代码
$ordersquery= "INSERT INTO Orders (customerID, orderDate, OrderOrigin) VALUES ('{$phonenumber}', '{$time}', 'online')";
echo $ordersquery."\n";
$result= mssql_query($ordersquery, $db);
var_dump($result);
echo mssql_get_last_message();
$idquery= "SELECT @@IDENTITY as id";
$result= mssql_query($idquery, $db);
$id= mssql_fetch_array($result)[$id];
var_dump($id);
foreach ($cart as $item) {
$itemID= $item['id'];
$quantity= $item['quantity'];
$orderitemsquery= "INSERT INTO OrderItems VALUES ('{$id}' '{$itemID}', '{$quantity}')";
if ($resultitems= mssql_query($orderitemsquery, $db)){
echo $orderitemsquery;
}
}
结果
INSERT INTO Orders (customerID, orderDate, OrderOrigin) VALUES ('(433) 943-4334', '2015-05-10 14:46:40', 'online')
boolean true
The statement has been terminated.
null
boolean false
【问题讨论】:
标签: php arrays sql-server identity