2017-10-07 37 views
0

这是我的代码,它显示当前事件并让用户更改事件的日期,名称或地点。使用mysql编辑数据库中的数据时出错

出于某种原因,我总是收到500错误。我认为这是由于信息传入和传出数据库。

数据库设置为:用户ID,事件名称,地点,日期,名字,事件ID ...... respectivley

 <div class="current events"> 
      <h1>Your Current Events:</h1> 
      <?php 

      $sql = "SELECT * FROM events WHERE userid='{$_SESSION['u_id']}';"; 
      $result = mysqli_query($conn, $sql); 
      if (mysqli_num_rows($result) > 0){ 
       while ($row = mysqli_fetch_assoc($result)){ 
        echo "<b>Event name: </b>"; 
        echo " "; 
        echo $row['eventname']; 
        echo " "; 
        echo "<b>Event Venue: </b>"; 
        echo " "; 
        echo $row['venue']; 
        echo " "; 
        echo "<b>Event Date: </b>"; 
        echo " "; 
        echo $row['date']; 
        echo " 
         <form method='POST' action='editevent.php'> 
          <input type='hidden' name='eventname' value='" .$row['eventname']. "'> 
          <input type='hidden' name='venue' value='" .$row['venue']. "'> 
          <input type='hidden' name='date' value='" .$row['date']. "'> 
          <input type='hidden' name='name' value='" .$row['name']. "'> 
          <button>Edit</button> 

         </form> 


        "; 

       } 
      }else{ 
       echo "No Upcoming Events"; 
      } 

      ?> 
     </div> 

然后我还有一个文件在我的包括目录,允许更改信息。

<?php 

    session_start(); 
    if (isset($_POST['eventsubmit'])) { 
     $eventname = $_POST['eventname']; 
     $venue = $_POST['venue']; 
     $date = $_POST['date']; 
     $name = $_POST['name']; 

     $eventname = mysqli_real_escape_string($conn, $_POST['eventname']); 
     $venue = mysqli_real_escape_string($conn, $_POST['venue']); 
     $date = mysqli_real_escape_string($conn, $_POST['date']); 
     $name = mysqli_real_escape_string($conn, $_POST['name']); 


      $sql = "UPDATE events SET eventname='$eventname' WHERE userid='2' "; 
      mysqli_query($conn, $sql); 
      header("Location: ../members.php?event=success"); 
      exit(); 



    } else { 
     header("Location: ../signup.php"); 
     exit(); 
    } 

} 
+1

您的第一个代码中没有'session_start();'。添加并检查 –

回答

3

我检查你的代码在第二个PHP文件中,你把一个额外的这个}请删除它。

0

请使用mysqli_error指令,达到您得到

mysqli_query($conn, $sql)or die(mysqli_error($conn)); 

哪个错误,或者你可以用它来展示的php错误,如果有在PHP语法的错误页面的开始

error_reporting(E_ALL); 
ini_set('display_errors', 1); 
相关问题