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

时间:2012-04-20 15:27:17

标签: mysql oracle rows zero

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

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

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

那么如何在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);

             } 
        -------------------------------

1 个答案:

答案 0 :(得分:1)

使用oci_num_rows功能。 Documentation Here

编辑:示例代码

$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)
  { 
   -------------------