我正在尝试创建一个管理员可以更新网页数据的表单。我正在使用表单的$ _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与自身和数据库进行通信。感谢您提供的任何帮助,非常感谢!!
答案 0 :(得分:0)
您是否在PHP中commit
进行了交易并打开了连接并进行了更新?
除非autocommit
已启用 ON 或commit
,否则更新的数据无法用于其他世界
编辑:http://www.php.net//manual/en/function.oci-execute.php
以上链接指的是可用的自动提交选项。默认为NO auto commit ..因此,当会话断开连接时,所有更新都会回滚。