error_reporting(0);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$dbhost = "127.0.0.1";
$dbuser = "";
$dbpass = "";
$dbname = "";
$connection=mysqli_connect("$dbhost","$dbuser","$dbpass","$dbname");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$module_ID=mysqli_query($connection,"SELECT Module_ID FROM Module WHERE Module_Name = '".$_POST['Module_Name']."'");
$query = mysqli_fetch_assoc($module_ID);
$result=mysqli_query($connection,"INSERT INTO Attendance (Username, Module_ID, Module_Name, Date, isHere, isLate)
VALUES ('$_POST[Username]','$query[Module_ID]','$_POST[Module_Name]','$_SERVER[REQUEST_TIME]','Y','N')");
if (!mysqli_query($connection ,$result)) {
//die('Error: ' . mysqli_error($connection));
}
echo $_POST[Module_Name];
echo "<br /><br /><br /><br /><br />";
echo $query['Module_ID'];
mysqli_close($connection);
}
这是编码,它只允许一个用户添加到数据库中,它不能存储更多的用户。如果我尝试插入另一个用户,它不会添加到数据库中。有什么解决办法吗?更新:仍然无法正常工作,手动将用户添加到数据库上的用户表中。更新:修复了问题
使用quotes
作为key:并始终尝试捕获错误(这里是mysql(,它将帮助您调试。
$result=mysqli_query($connection,"INSERT INTO Attendance (Username, Module_ID, Module_Name, Date, isHere, isLate)
VALUES ('".$_POST['Username']."'","'".$query['Module_ID']."'","'".$_POST['Module_Name']."'","'".$_SERVER['REQUEST_TIME']."','Y','N')");
我这样做是因为在所有引号中,它会有更多的引号,只会让事情更加混乱。
一个完美的例子是@Suchit的回答。
$username = $_POST['Username'];
$module_id = $query['Module_ID'];
$module_name = $_POST['Module_Name'];
$time = $_SERVER['REQUEST_TIME'];
$result=mysqli_query($connection,"INSERT INTO Attendance (Username, Module_ID, Module_Name, Date, isHere, isLate)
VALUES ('$username','$module_id','$module_name','$time','Y','N')");