MySQL 是一種常見的數據庫管理系統,它允許用戶在應用程序中存儲和檢索數據。在許多應用程序中,需要使用用戶名和密碼來允許特定用戶訪問數據庫。這篇文章將介紹如何使用 MySQL 用戶登錄。
代碼: //連接 MySQL 數據庫 $conn = mysqli_connect($servername, $username, $password, $dbname); //檢查連接是否成功 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } //創建數據庫表格 $sql = "CREATE TABLE users ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL, password VARCHAR(30) NOT NULL )"; if (mysqli_query($conn, $sql)) { echo "Table created successfully"; } else { echo "Error creating table: " . mysqli_error($conn); } //插入用戶信息 $sql = "INSERT INTO users (username, password) VALUES ('admin', 'password')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "
" . mysqli_error($conn); } //關閉連接 mysqli_close($conn);
以上代碼示例中,我們創建了一個名為users
的表格,里面存儲了用戶的用戶名和密碼。我們將admin
作為用戶名,password
作為密碼,并將其插入到數據庫中。
接下來,我們將編寫一個登錄腳本來允許用戶使用他們的用戶名和密碼進行登錄。
代碼: //連接到 MySQL 數據庫 $conn = mysqli_connect($servername, $username, $password, $dbname); //檢查連接是否成功 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } //獲取用戶輸入的用戶名和密碼 $username = $_POST['username']; $password = $_POST['password']; //查詢數據庫,檢查用戶和密碼是否匹配 $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = mysqli_query($conn, $sql); //如果查詢成功,將用戶信息保存到會話中,并跳轉到歡迎頁面 if (mysqli_num_rows($result) == 1) { $_SESSION['username'] = $username; header('Location: welcome.php'); } else { echo "Invalid username or password"; } //關閉連接 mysqli_close($conn);
在上面的示例中,我們首先連接到 MySQL 數據庫。然后,我們獲取用戶輸入的用戶名和密碼,查詢數據庫以檢查它們是否匹配。如果匹配成功,我們將用戶名保存到會話中,并跳轉到歡迎頁面。否則,我們顯示一條錯誤消息。
在此我們需要注意的是,為了保護數據庫中的用戶憑證,必須對數據進行加密。最常用的方法是使用哈希函數來對密碼進行散列化。這可以有效地防止黑客通過從數據庫中獲取密碼進行攻擊。
這是使用 MySQL 用戶登錄的基本示例。如果你需要在你的應用程序中實現用戶賬戶和訪問控制,你需要更多的工作,例如創建一個管理界面,允許管理員創建新用戶,更改密碼等等。