2016-02-27 77 views
-4

我一直在試圖讓一個形式,我可以更新兩個字段一個字段會是admin_welcomeboxadmin_author,我由ID試圖更新它所以這裏去我的代碼PHP庫MySQLi沒有更新

<div class="col-lg-6">      
    <div class="panel panel-color panel-inverse">        
     <div class="panel-heading"> 
      <h3 class="panel-title">Welcome Box Update</h3> 
     </div> 

     <?php 
      if(isset($_POST["submit"])){ 
       $servername = "localhost"; 
       $username = "trres"; 
       $password = "sss"; 
       $dbname = "txxxs"; 

       // Create connection 
       $conn = new mysqli($servername, $username, $password, $dbname); 
       // Check connection 
       if ($conn->connect_error) { 
        die("Connection failed: " . $conn->connect_error); 
       } 

       $sql = "UPDATE admin_news SET welcomebox = '{$admin_news}' SET author = {$admin_author} id='{$id}'"; 

       if ($conn->query($sql) === TRUE) { 
        echo "<h4 class='bg-success'>You have updated admin welcome box.</h4>"; 
       } else { 
        echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" . $conn->error."');</script>"; 
       } 
       $conn->close(); 
      } 
     ?> 
     <div class="panel-body"> 
      <form method="post" action=""> 
       <div class="form-group"> 
        <label for="welcomebox">Welcome Box</label> 
        <textarea type="text" name="welcomebox" id="welcomebox" placeholder="Enter Your Message" class="form-control"></textarea> 
       </div>  
       <div class="form-group"> 
        <label for="author">Author Name</label> 
        <input type="text" name="author" id="author" placeholder="Author Name" class="form-control"/> 
       </div>           
       <div class="form-group text-right m-b-0"> 
        <button class="btn btn-primary waves-effect waves-light" type="submit" name="submit" id="submit"> 
         Update Info 
        </button> 
       </div> 
      </form>         
     </div>            
    </div>        
</div> 

當我嘗試更新它只是刷新頁面沒有別的。

+1

。 RTM http://dev.mysql.com/doc/en/update.html和檢查錯誤會引發你一個語法錯誤。 http://php.net/manual/en/mysqli.error.php,你沒有提到你的'$ conn-> error'。 –

+1

'$ id'在您的代碼中未定義,因此錯誤報告會將您的未定義變量id通知給您。 http://php.net/manual/en/function.error-reporting.php並再次檢查錯誤...正如我在其他評論中所述(如果你正在閱讀這些,那是)。正如'$ admin_news'和'$ admin_author',那麼來自哪裏? –

回答

1

您的查詢語法無效。這是錯誤的:

UPDATE admin_news SET welcomebox = '{$admin_news}' SET author = {$admin_author} id='{$id}' 

UPDATE正確的MySQL的語法是在MySQL manual

UPDATE admin_news SET welcomebox = 'value', author = 'value' WHERE id='id' 

更何況,你在哪裏定義$admin_news$admin_author$id?我在代碼中看不到任何變量定義。

+0

沒有在數據庫中設置一個id爲1的歡迎框和作者,我只需要更新welcomebox和author。 –

+0

*呃.... *你爲什麼要在編輯中刪除OP的表單內容? http://stackoverflow.com/revisions/35665109/2 –

+0

@ Fred-ii-對不起,我的壞,我認爲它沒用 –

1

您也未定義$admin_news,$admin_author$id。首先定義。

試試這個code: -

<div class="col-lg-6">      
<div class="panel panel-color panel-inverse">        
    <div class="panel-heading"> 
     <h3 class="panel-title">Welcome Box Update</h3> 
    </div> 

    <?php 
     if(isset($_POST["submit"])){ 
      $servername = "localhost"; 
      $username = "trres"; 
      $password = "sss"; 
      $dbname = "txxxs"; 

      // Create connection 
      $conn = new mysqli($servername, $username, $password, $dbname); 
      // Check connection 
      if ($conn->connect_error) { 
       die("Connection failed: " . $conn->connect_error); 
      } 
      $id=$_POST['id']; 
      $admin_news=$_POST['welcomebox']; 
      $admin_author=$_POST['author']; 

      $sql = "UPDATE admin_news SET welcomebox = '$admin_news', author = $admin_author where id=$id"; 

      if ($conn->query($sql) === TRUE) { 
       echo "<h4 class='bg-success'>You have updated admin welcome box.</h4>"; 
      } else { 
       echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" . $conn->error."');</script>"; 
      } 
      $conn->close(); 
     } 
    ?> 


    <div class="panel-body"> 
      <form method="post" action=""> 
    <input type="hidden" name="id" value="<?php echo $id; ?>" /> <!-- put here your id --> 
       <div class="form-group"> 
        <label for="welcomebox">Welcome Box</label> 
        <textarea type="text" name="welcomebox" id="welcomebox"      placeholder="Enter Your Message" class="form-control"></textarea> 
       </div>  
       <div class="form-group"> 
        <label for="author">Author Name</label> 
        <input type="text" name="author" id="author" placeholder="Author Name" class="form-control"/> 
       </div>           
       <div class="form-group text-right m-b-0"> 
        <button class="btn btn-primary waves-effect waves-light" type="submit" name="submit" id="submit"> 
         Update Info 
        </button> 
       </div> 
      </form>         
     </div>            
    </div>        
</div> 
你不使用UPDATE /正確設置