2014-07-09 13 views
0

我正在嘗試創建通過HTML表單接受用戶輸入的代碼,並使用if語句(參見下文)對其進行處理。爲什麼嵌套在if中時,我的代碼不會更新或插入Oracle DB?

當我輸入數據並點擊提交時,沒有錯誤報告。但是,oracle數據庫中也沒有更新數據。接下來,我將引導您瞭解我的邏輯,線路將標記爲/ * ## * /以便更容易理解。

因此,用戶輸入他們正在編輯的那一週[/ 01 /]。接下來是他們正在編輯的星期幾(下/ 01 /)。這些是在「if」語句中使用的兩個值(請參閱處理程序),我的問題在哪裏。

處理程序中指定/ 02 /行的行正在檢查是否存在與用戶輸入的任何現有周匹配的編輯。

指定爲/ 03/in處理程序的行對if語句進行了beigns語句,該語句取得$week,該行可能存在,並根據是否設置進行編輯或插入。

此數據庫中有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

下面將始終評估爲真,你已經錯過了一個等號。

if($week = 1)) { 

即應該是:

if($week == 1)) { 

單等號是賦值,你要設置的變量week1。這將始終評估爲真。雙等號是比較,您正在比較week1

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

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

+0

完美的作品,非常感謝!不知道我需要兩個等號。爲什麼人人平等總是評價爲真? '='與'=='有不同的含義嗎?接受爲答案。 –

+1

編輯我的答案來回答你的問題。 –

+0

噢,好的!我已經有點了解這一點,只是從未放在一起,我沒有比較價值。非常感謝! –

相關問題