更新PHP-SQL语句不起作用 - 未显示错误

时间:2012-12-07 11:43:28

标签: php sql oracle sql-update

我有以下代码......

$interactionid = '123';
$interactioncode = "ECWL";
$oldDOL = $_GET['oldDOL'];

$newDOL = $_GET['newDOL'];


    include("ORCLconfig.php");
    $addWSclaim = oci_parse($conn, "UPDATE claims SET DATE_OF_LOSS='$newDOL' WHERE NUMBER='32122'");
                  oci_execute($addWSclaim, OCI_COMMIT_ON_SUCCESS);


    $addtointeractionMAKE = oci_parse($conn, "INSERT INTO interaction_items VALUES (null, '$interactionid', '$interactioncode', '$oldDOL', '$newDOL', localtimestamp)");
                            oci_execute($addtointeractionMAKE, OCI_COMMIT_ON_SUCCESS);

oldDOL和newDOL是以DD-MMM-YY格式到达的日期,它与声明表中的DATE_OF_LOSS列一致。

然而,只有第二个陈述似乎有效,因为索赔表没有变化,也没有显示任何错误。

我正在使用Oracle数据库,如果我在SQL控制台中执行update语句,它可以正常工作。

了解我这将是一件非常简单的事情,我不知何故忽略了,但任何帮助都会受到赞赏:)

1 个答案:

答案 0 :(得分:1)

尝试

 $addWSclaim = oci_parse($conn, "UPDATE claims SET DATE_OF_LOSS='$newDOL' WHERE NUMBER='32122'");

 if ($addWSclaim) {
   if (oci_execute($addWSclaim, OCI_COMMIT_ON_SUCCESS)) {
      if (oci_num_rows($addWSclaim) === 0) {
        /* No rows affected */
      }
   } else {

      /*Handle error through oci_error*/
   }
 } else {
   /* Handle parse error */
 }

oci_execute成功时返回TRUE,失败时返回FALSE。