0

假设我正在触发查询,如果所有值都可用,它将更新数据,否则将在更新 0 行的情况下运行。那么如何在 PHP 中从 Oracle db 获取那些 0 行更新的查询/数据

在我的脚本中,如果 item_flag 为 N,我将更新表,item_name 存储在 $sku 中,因此检查该 & site_code 在 $final_code 中,因此所有这些都处于 where 条件。因此,如果更新查询通过值更新成功运行,那么我将在 $result 中获取执行结果并更新 Mysql 表的状态。

但是发生的情况是,当更新查询中不存在某些数据时说 $sku 然后查询运行时更新了 0 行...& 同样它将移动到 if($result) 循环并更新我不想要的状态实际上数据/行没有得到更新......

那么如何在 PHP 中从 Oracle 获取 0 行更新的查询/数据?

        --------------some code above--------

            $query_ora_update = "UPDATE ITEM_DETAILS SET ITEM_FLAG= 'Y', LAST_UPDATE_DATE = sysdate WHERE ITEM_NAME = '$sku' AND SITE_CODE = '$final_code' AND ITEM_FLAG = 'N' ";
            $parse_result = oci_parse($conn,$query_ora_update);
            $result = oci_execute($parse_result);                          
            oci_commit($conn);

            if($result)                             
            {

               $query_update_alert = "UPDATE product_creation SET alert_status =1 where 
                    entity_id = $entity_id and sku = '$sku' and alert_status = 0";

$result_query_update_alert = mysql_query($query_update_alert);

             } 
        -------------------------------
4

1 回答 1

1

使用oci_num_rows功能。文档在这里

编辑:示例代码

$parse_result = oci_parse($conn,$query_ora_update);             
$result = oci_execute($parse_result);   
$row_count = oci_num_rows($parse_result);                                    
oci_commit($conn);              
if($row_count > 0)
  { 
   -------------------
于 2012-04-20T15:40:29.143 回答