0

我在 PHP 和 MYSQL 中执行此操作,它用于订购系统,订单带有特定项目,我有一个查找表,其中包含我试图排序的唯一编号,我需要弄清楚一种表示订购的商品是否与表中的商品匹配的方法,将 id 复制到订单表中,如下所示

查找表

商品编号

1 蝙蝠侠漫画书 1111 2 超人漫画 1112 3 蜘蛛侠漫画 1113

订单表

Ordered_item 排序 ID

1 蜘蛛侠漫画 NULL 2 蝙蝠侠漫画书 NULL 3 超人漫画 NULL

 $sort = "SELECT ordered_item, sort_id
        FROM order table 
            WHERE packing_slip_printed = 0 
    AND LOWER(payment_status) = 'completed' 
    AND address_name <> ''";
 $item_ids = "SELECT *
    FROM look up table";



$rows = $db -> fetch_all_array($sort);
$updaters = $db -> fetch_all_array($item_ids);
$itemname = $updaters['item']; 
$itemkey = $rows['sort_id'];
$updatekey = $updaters['ID'];
echo $updatekey;
if ($itemkey = NULL)
 { if ($updaters['item'] == $rows['item_name'])
     $itemkeys = $updatekey;
mysql_query("UPDATE `paypal_ipn_orders` SET `key` = '. $itemkeys .'");
}

我想更新订单表 Sort_ID 以匹配查找表中的 ID。

我想我可以使用嵌套的 if 语句,但 Sort_ID 只是返回 0

4

1 回答 1

0

您需要退后一两步,重新考虑您正在做的一切。

  1. 您的 sql 无效(至少 $sort 查询缺少 WHERE 关键字)
  2. 您显然是在混合 mysqli/pdo 和 mysql_* 函数
  3. 您的表结构似乎缺少将它们链接在一起的正确引用(为什么 sort_ID 为空,同样重要的是 - 基于它为空 - 为什么您希望它返回 null 或 0 以外的值?)

或者,也许我们缺少很多关于您尝试编写的代码的信息。

于 2012-07-21T19:42:10.907 回答