使用HTML表单更新Oracle数据库 - 数据库不更新

时间:2014-06-24 18:20:58

标签: php sql forms oracle

我正在尝试创建一个管理员可以更新网页数据的表单。我正在使用表单的$ _POST变量并将它们发送到处理程序(在本例中为UpdateInfo_SA.php)。从那里我试图将其发送到数据库(请参阅代码段1)。没有错误,实际上页面是空白的(考虑到当前代码,这是预期的)。但是,该表不会更新。

的信息:

表名:LOGISTICS_SLIDESHOW

将OH_RECORDABLE_ENERGY更新为任何值(只是为了测试是否有效),其中LOGISTICS_UPDATEID = 0(这代表表格的第一列)。

Snippet 1(表单处理程序 - UpdateInfo.php):

<?php
    require_once("mcl_Oci.php");
    $objConnect = oci_connect("user", "pass", "(description=(address=(protocol=tcp)(host=HOST)(port=1533))(connect_data=(service_name=SID)))")
    $strSQL = "UPDATE INTOXDM.LOGISTICS_SLIDESHOW ";  
    $strSQL .="SET OH_RECORDABLE_ENERGY = '6'";  
    $strSQL .="WHERE LOGISTICS_UPDATEID= 0 ";
    $objParse = oci_parse($objConnect, $strSQL);  
    $objExecute = oci_execute($objParse, OCI_DEFAULT);?>  

Snippet 2(表格 - SA_Update.php):        

<?php

    $objConnect = oci_connect("user", "pass", "(description=(address=(protocol=tcp)(host=HOST)(port=1533))(connect_data=(service_name=SID)))");

?>

<div align="center">
    <span style="font-size:60px";>
        <u>Update Page<br></u>
        Schedule Adherence: OH Contractors<br>
    </span>

<form method="post" action="UpdateInfo_SA.php">
    <span style="font-size:30px;">
        <u>Total YTD:<input type="number" name="SA_ytd_total" value="%"><br>
        Total MTD:<input type="number" name="SA_mtd_total" value="%"><br>
        Energy YTD: <input type="number" name="SA_ytd_energy" value="total"><br>
        Energy MTD: <input type="number" name="SA_mtd_energy" value="total"><br>
        Hydraker YTD: <input type="number" name="SA_ytd_hydraker" value="total"><br>
        Hydraker MTD: <input type="number" name="SA_mtd_hydraker" value="total"><br>
        NG Gilbert YTD: <input type="number" name="SA_ytd_gilbert" value="total"><br>
        NG Gilbert MTD: <input type="number" name="SA_mtd_gilbert" value="total"><br></u>
        <input type="submit" value="Submit">
</form>

正如您所知,服务器正在使用php与自身和数据库进行通信。感谢您提供的任何帮助,非常感谢!!

1 个答案:

答案 0 :(得分:0)

您是否在PHP中commit进行了交易并打开了连接并进行了更新?

除非autocommit已启用 ON commit,否则更新的数据无法用于其他世界

编辑:http://www.php.net//manual/en/function.oci-execute.php

以上链接指的是可用的自动提交选项。默认为NO auto commit ..因此,当会话断开连接时,所有更新都会回滚。