当嵌套在if中时,为什么我的代码不会更新或插入到Oracle DB中?

时间:2014-07-09 14:19:03

标签: php sql oracle

我正在尝试创建通过HTML表单获取用户输入的代码,并使用if语句对其进行处理(参见下文)。

当我输入数据并单击“提交”时,不会报告任何错误。但是,oracle DB中也没有更新数据。接下来,我将引导您完成我的逻辑,行将用/ * ## * /标记,以便更容易理解。

因此,用户输入他们正在编辑的周[/ 01 /]。接下来是他们正在编辑的星期几(在/ 01 /下面)。这些是在我的问题所在的“if”语句中使用的两个值(请参阅handler)。

处理程序中指定/ 02 /行的行正在检查是否存在与用户输入的编辑相匹配的任何周数。

指定行/ 03 / in处理程序中的行指定带有$week的if语句,可能存在的行,并根据是否设置进行编辑或插入。

此数据库中有8列:WEEK,以及一周中的所有日期(星期一,星期二...星期日)。

非常感谢任何帮助,TIA!

形式:

    <div align="center">
        <span style="font-size:60px;">
            Day to Day Tree Events - Update Page <br/>
            Be very cautious when editing this page. <br>
            Misformatting can cause data to be deleted or altered incorrectly. <br>
        </span>
    </div>

    <div align="center">
        <form method="post" action="UpdateInfo_Tree.php">
            <span style="font-size:30px;">
                <u>As Of:[mm/dd/yyyy]:<input type="date" name="TREE_updated" value="<?php echo $row['TREE_DATE']; ?>"><br>
/ 01 /          Week [mm/dd/yyyy]:<input type="number" name="TREE_week" value="<?php echo $row['TREE_WEEK']; ?>"><br> /* 01 */
                Day of the Week: <select name="TREE_day">
                    <option value="MONDAY">Monday</option><br>
                    <option value="TUESDAY">Tuesday</option><br>
                    <option value="WEDNESDAY">Wednesday</option><br>
                    <option value="THURSDAY">Thursday</option><br>
                    <option value="FRIDAY">Friday</option><br>
                    <option value="SATURDAY">Saturday</option><br>
                    <option value="SUNDAY">Sunday</option><br>
                </select><br>
                Number Of Tree Events:<input type="number" name="TREE_events" value=" "><br></u>
                <input type="submit" value="Submit">

            </span>
        </form>
    </div>

处理程序:

    <?
        $TREE_UPDATED = $_POST['TREE_updated'];
        $TREE_WEEK = $_POST['TREE_week'];
        $TREE_DAY = $_POST['TREE_day'];
        $TREE_EVENTS = $_POST['TREE_events'];

 / 02 /     $objConnect = oci_connect("user", "pass", "(description=(address=(protocol=tcp)(host=host)(port=1533))(connect_data=(service_name=sid)))");
        $weekSQL =  "SELECT * FROM INTOXDM.LSS_TREE WHERE WEEK = '$TREE_WEEK'";
        $weekParse = oci_parse($objConnect, $weekSQL);  
        $weekExecute = oci_execute($weekParse);
 \ 02 \     $week = oci_fetch_all($weekParse,$week1);

        if($week = 1)) {
            $updateSQL =  "UPDATE INTOXDM.LSS_TREE SET 
                    $TREE_DAY = '$TREE_EVENTS' 
                    WHERE WEEK = '$TREE_WEEK'";

            $updateParse = oci_parse($objConnect, $updateSQL);  
            $updateExecute = oci_execute($updateParse); 
        } else {
            $insertSQL = "insert into INTOXDM.LSS_TREE (WEEK, '$TREE_DAY') values ('$TREE_WEEK', '$TREE_EVENTS')";
            $insertParse = oci_parse($objConnect, $insertSQL);  
            $insertExecute = oci_execute($insertParse); 
        }

    ?>

1 个答案:

答案 0 :(得分:1)

以下将始终评估为真,您错过了等号。

if($week = 1)) {

即,应该是:

if($week == 1)) {

单个等号是一项赋值,您将变量week设置为1。这总是评估为真。双等号是比较,您要将week1进行比较。

http://php.net/manual/en/language.operators.assignment.php

http://www.php.net/manual/en/language.operators.comparison.php

相关问题