如何从php分配客户id
我正试图向数据库发送订单。我为客户创建了一个表单来填写他的详细信息,然后在提交时,我有一个查询,将客户的详细信息发送到数据库。我还有另一个查询,它将购物车中的项目发送到链接表中。链接表将客户与产品链接起来如何从php分配客户id,php,mysql,sql,Php,Mysql,Sql,我正试图向数据库发送订单。我为客户创建了一个表单来填写他的详细信息,然后在提交时,我有一个查询,将客户的详细信息发送到数据库。我还有另一个查询,它将购物车中的项目发送到链接表中。链接表将客户与产品链接起来 问题是在我的第二个查询中,我无法使用客户id引用该客户,因为该客户尚未在系统中存储。客户id随订单在msql中自动创建 看看如何做到这一点。您希望使用mysqli\u insert\u id(或其面向对象的对应项)获取数据库中最后一个插入的id(如果数据库使用的是自动递增键),并在第二次查询
问题是在我的第二个查询中,我无法使用客户id引用该客户,因为该客户尚未在系统中存储。客户id随订单在msql中自动创建 看看如何做到这一点。您希望使用
mysqli\u insert\u id
(或其面向对象的对应项)获取数据库中最后一个插入的id(如果数据库使用的是自动递增键),并在第二次查询中使用该id
请查看此示例:
<?php
$order_item = 'test_item';
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "INSERT INTO customers VALUES (NULL, 'first_name', 'last_name')";
$mysqli->query($query);
$newid = $mysqli->insert_id;
printf ("New Record has id %d.\n", $newid);
if ($stmt = $mysqli->prepare("INSERT INTO orders VALUES (NULL, ?, ?)")) {
/* bind parameters for markers */
$stmt->bind_param("is", $newid, $order_item);
/* execute query */
$stmt->execute();
}
/* close connection */
$mysqli->close();
?>
如果我理解正确,我认为有一个解决方案。如果你能在问题的同时发布一些代码,那就更好了
可以使用以下命令检测发送到第二个表的最新查询
SELECT `customer_id` from `orders` order by DESC limit 1;
然后,您应该能够使用php to+1来检索以下内容:
$newid = $mostrecentid + 1;
这将为您提供可用于第二次查询的最新id