gpt4 book ai didi

php - SQL 查询列表($order_total, $order_id) = mysqli_fetch_array($r);成功但有问题

转载 作者:行者123 更新时间:2023-11-29 17:57:11 26 4
gpt4 key购买 nike

我意识到很多代码都是挥手和炫耀的,我不会因此而获得荣誉。该代码成功执行了所有查询,除了当我尝试显示带有 order_id 的收据页面时,我为 order_id 创建的 vairable 未返回。

选项 1:认识到过程只是函数并重写它们以进行调试

选项2:修复返回mysqli_fetch以获取新创建的order_id。

所以让我们从程序的开头开始:客户输入信息并将其传递给过程 add_customer

我保存信息,然后使用该 customer_id 通过调用 add_order 创建唯一订单

然后,当我尝试获取订单 ID 来创建电子邮件收据时,似乎存在一个无法修复的重大错误,因为我从未见过以两个变量的列表形式返回的 fetch

$r = mysqli_query($dbc, "CALL add_customer('$e', '$fn', '$ln', '$a1', '$a2', '$c', '$s', $z, $p, @cid)");

// Confirm that it worked:

if ($r) {
mysqli_stmt_execute($r);
echo 'success';
//Retrieve the customer ID:
$r = mysqli_query($dbc, 'SELECT @cid');
//Select the new customer ID
if (mysqli_num_rows($r) == 1) {

list($_SESSION['customer_id']) = mysqli_fetch_array($r);
//$cc_last_four = substr($cc_number, -4);
$cc_last_four = 1234;
// Call the stored procedure:

$shipping = $_SESSION['shipping'] * 100;
$r = mysqli_query($dbc, "CALL add_order({$_SESSION['customer_id']}, '$uid', $shipping, $cc_last_four, @total, @oid)");

echo "success Customer ID to add_order";
//select Order ID
if ($r) {

// Retrieve the order ID and total:
$r = mysqli_query($dbc, 'SELECT @total, @oid');
if (mysqli_num_rows($r) == 1) {
list($order_total, $order_id) = mysqli_fetch_array($r);
echo "Order ID Found";
echo $order_id;
// Store the information in the session:
$_SESSION['order_total'] = $order_total;
$_SESSION['order_id'] = $order_id;
echo $_SESSION['order_total'],
$_SESSION['order_id'];
// Redirect to the next page:
include_once("includes/email_receipt.php");

成功将客户 ID 添加到 add_orderOrder ID 找到

最佳答案

好吧,我得快点,别再拐弯抹角了

过程Add_To_order更改为

BEGIN
DECLARE subtotal INT(10);
INSERT INTO orders (customer_id, shipping, credit_card_number, order_date) VALUES (cid, ship, cc, NOW());
SELECT LAST_INSERT_ID() INTO oid;

END

代码更改为

                    $r = mysqli_query($dbc, 'SELECT @oid');
if (mysqli_num_rows($r) == 1) {
list($order_id) = mysqli_fetch_array($r);
echo "Order ID Found";
echo $order_id;
// Store the information in the session:
$_SESSION['order_total'] = $order_total;
$_SESSION['order_id'] = $order_id;
echo $_SESSION['order_total'],
$_SESSION['order_id'];
// Redirect to the next page:
include_once("includes/email_receipt.php");

关于php - SQL 查询列表($order_total, $order_id) = mysqli_fetch_array($r);成功但有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48694034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com