假设我正在触发查询,如果所有值都可用则将上传数据,否则将运行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);
}
-------------------------------
答案 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)
{
-------------------