に接続しようとしたときに、私は学生がちょうど彼らの学校のユーザー名を使用して、その日のために署名することができます簡単なWebページを作成しようとして動作していません。
"Username"というHTMLフォームからユーザー入力を受け取り、すべての生徒のユーザー名を含むデータベースに接続するコードを記述しました。 それから、データベース内で生徒の詳細を見つけてサインアウトします。
これまでのところ、すべてのクライアントサイドのコードが動作しますが、PHPの試行がデータベースに接続するとすぐにすべてが停止し、コードのどの部分が分離されるかによってエラーコードが時々発生するHTTP 500エラー?あなたがmysqli_*
とmysql_*
を混合している
<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);
?>
あなたはエラーを引き起こすと思われるコードを入れてください – Exprator
あなたは[SQL Injections](http://php.net/manual/en/security.database.sql-injection.php)を広く公開しています。実際には[Prepared Statements](http:// php。net/manual/en/mysqli.quickstart.prepared-statements.php)を実行してください。あなたがユーザーの入力をまったくエスケープしていないからです! –
あなたの文字列に '{}'のような文字が含まれている場合、phpが変数を期待するかもしれないので、おそらくそれを一重引用符で囲む必要があります。 mysqlとmysqliを混在させないでください。 – jeroen