当我开始工作时,我感到很高兴,但它提交了两次订单,除非我注释掉最后两行。是否有更好的方式来编写它以便我不会重复?
$sql = "INSERT INTO orders (weight, shipper, shipacct) VALUES ('$weight', '$shipper', '$shipacct')";
$conn->query($sql);
$recordid = $conn->insert_id;
我是这样做的,因为我试图将记录ID用作订单ID。我将此订单ID在购买收据上回复给客户。
更新代码:
$sql = "INSERT INTO orders (weight, shipper, shipacct) VALUES ('$weight', '$shipper', '$shipacct')";
$recordid = mysql_insert_id();
没有重复项,但不会返回记录ID。
答案 0 :(得分:0)
警告强>
This extension is deprecated as of PHP 5.5.0, and will be removed in the future.
Instead, the MySQLi or PDO_MySQL extension should be used.
See also MySQL: choosing an API guide and related FAQ for more information.
Alternatives to this function include:
mysqli_insert_id()
PDO::lastInsertId()
尝试以下方法:
$sql = "INSERT INTO orders (weight, shipper, shipacct) VALUES ('$weight', '$shipper', '$shipacct')";
$conn->query($sql);
$recordid = mysql_insert_id();
注意:强>
因为mysql_insert_id()作用于上次执行的查询,所以请确保在生成值的查询后立即调用mysql_insert_id()。