我正在尝试创建一个简单的网页,允许学生仅使用他们的学校用户名退出当天。
我编写了一些代码来从名为“用户名”的 HTML 表单中获取用户输入并连接到包含所有学生用户名的数据库。然后它将在数据库中找到学生的详细信息并将其注销。
到目前为止,所有客户端代码都可以工作,但是一旦 PHP 尝试连接到数据库,一切都会停止运行,除了偶尔出现的 HTTP 500 错误之外,没有错误代码出现,具体取决于我隔离的代码的哪一部分?
<html>
<head>
<?php include 'head.php'; ?>
</head>
<body>
<form method="post" action="/index.php" class="login_form">
<input type="text" name="Username" placeholder="School Username">
<input type="submit" value="Sign Out">
</form>
<?php
session_start();
// These details are used for logging in
$sql_servername = "localhost";
$sql_username = "root";
$sql_password = "NotaRealPassword";
$sql_database = "student_info";
$username = $_POST['Username'];
echo "Test 1";
// Create connection
$con = mysqli_connect($sql_servername, $sql_username, $sql_password, $sql_database);
echo "Test 2";
// Check Connection
if (!$con){
die("Connection Failed: " . mysql_error());
}
echo "Connected To Database Sucessfully! ";
echo "Test 3";
//Perform Queries
$result = mysql_query(con, "SELECT user_name, first_name, last_name FROM student_id WHERE user_name='" . $username . "';");
echo "Test 4";
echo "Username: " . $username . "<br>";
echo "Username: " . $UN . "<br>";
echo "First Name: " . $FN . "<br>";
echo "Last Name: " . $LN . "<br>";
echo "Database Output: " . $result;
//Close Connection
mysqli_close($con);
?>
你在混合mysqli_*
和mysql_*
,不要认为这是有道理的。同样如评论中所述,这是不安全的 - 它使您面临 SQL 注入的风险。看看 PDO。
您要执行的查询需要$con
变量,但您忘记编写$
. 这意味着你会得到一个错误。
$result = mysql_query(con, "SELECT user_name, first_name, last_name FROM student_id WHERE user_name='" . $username . "';");
应该是,但也不应该是:
$result = mysqli_query($con, "SELECT user_name, first_name, last_name FROM student_id WHERE user_name='" . $username . "';");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句