使用mysql编辑数据库中的数据时出错
问题描述:
这是我的代码,它显示当前事件并让用户更改事件的日期,名称或地点。使用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();
}
}
答
我检查你的代码在第二个PHP文件中,你把一个额外的这个}
请删除它。
答
请使用mysqli_error
指令,达到您得到
mysqli_query($conn, $sql)or die(mysqli_error($conn));
哪个错误,或者你可以用它来展示的php错误,如果有在PHP语法的错误页面的开始
error_reporting(E_ALL);
ini_set('display_errors', 1);
您的第一个代码中没有'session_start();'。添加并检查 –