如何根据记录值使2个表中的信息匹配

时间:2012-07-21 19:35:47

标签: php mysql

我在PHP和MYSQL中使用它在订购系统中使用,订单带有特定项目,我有一个查找表,其中有一个我尝试排序的唯一编号,我需要找出一种方法来说明订购的项目是否与表格中的项目匹配,将ID复制到订单表中,如下所示

查找表

项目ID

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

订单表

Ordered_item Sort_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

1 个答案:

答案 0 :(得分:0)

你需要退一步或重新思考你正在做的一切。

  1. 您的sql无效($ sort查询至少缺少WHERE关键字)
  2. 你显然混合了mysqli / pdo和mysql_ *函数
  3. 您的表结构似乎缺少将它们链接在一起的正确引用(为什么sort_ID为null,同样重要的是 - 基于它为null - 为什么你期望它返回null或0以外的其他内容?)
  4. 或者我们可能缺少关于您尝试编写的代码的大量信息。