为什么不'我的代码更新或插入到Oracle数据库时嵌套在if's


Why won't my code update or insert into Oracle DB when nested in if's?

我试图创建通过HTML表单获取用户输入的代码,并使用if语句处理它(见下文)。

当我输入数据并点击提交时,没有错误报告。但是,oracle DB中也没有更新数据。接下来,我将向您介绍我的逻辑,行将标记为/* ## */,以便更容易理解。

因此,用户输入他们正在编辑的星期[/01/]。接下来是他们正在编辑的星期几(如下/01/)。这是我的问题所在的"if"语句中使用的两个值(参见处理程序)。

指定的/02/in处理程序正在检查是否有任何现有的周与用户输入的要编辑的周相匹配。

指定为/03/in处理程序的行开始if语句,该语句接受$week(可能存在的行),并根据是否设置它进行编辑或插入。

这个数据库中有8列:WEEK,以及一周中的所有日子(MONDAY, TUESDAY…SUNDAY)。

任何帮助都非常感谢,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); 
        }
    ?>

以下内容将始终被计算为true,您错过了一个等号。

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