0

すべての値が使用可能な場合にデータを更新するクエリを実行していると仮定します。それ以外の場合は、0行が更新されて実行されます。では、PHPのOracleデータベースからこれらの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 に答える