如何用mysqli系列函數鏈接一個mysql數據庫?javascript
1.PHP mysqli_connect()函數:mysqli_connect() 函數打開一個到 MySQL 服務器的新的鏈接。php
語法:mysqli_connect ( host (規定主機名或IP地址), username(mysql用戶名), password(mysql密碼), dbname(默認使用的數據庫) )html
打開一個到 MySQL 服務器的新的鏈接:java
<?php $con = mysqli_connect("localhost","wrong_user","password","my_db"); if(!$con) { die( "鏈接錯誤:".mysqli_connect_error() ); } ?>
2. PHP mysqli_query() 函數 : 執行某個針對數據庫的查詢。mysql
語法:mysqli_query( connection(必需。規定要使用的 MySQL 鏈接。),query(必需,規定查詢字符串,即查詢語句。),resultmode);sql
選擇數據庫:數據庫
<?php //假定數據庫用戶名:root,密碼:123456,數據庫:mengli $con = mysqli_connect("localhost","root","123456","mengli"); $sql = "SELECT*FROM user WHERE username = '".$_POST['username']."'"; if( mysqli_connect_errno($con) ){ echo "鏈接MySql失敗:".mysqli_connect_error(); } //執行查詢 mysqli_query($con,$sql); //關閉先前打開的數據庫鏈接: mysqli_close($con); ?>
執行某個數組
3. PHP mysqli_fetch_all() 函數:從結果集中取得全部行做爲關聯數組,或數字數組,或兩者兼有。註釋:該函數只在帶有 MySQL Native Driver 時可用。服務器
語法:mysqli_fetch_all( result(必需。規定由 mysqli_query()、mysqli_store_result() 或 mysqli_use_result() 返回的結果集標識符。) , resulttype (規定應該產生哪一種類型的數組));函數
<?php //假定數據庫用戶名:root,密碼:123456,數據庫:mengli $con = mysqli_connect("localhost","root","123456","mengli"); $sql = "SELECT*FROM user WHERE username = '".$_POST['username']."'"; if( mysqli_connect_errno($con) ){ echo "鏈接MySql失敗:".mysqli_connect_error(); } //執行查詢 $result = mysqli_query($con,$sql); // 獲取數據 mysqli_fetch_all($result,MYSQLI_ASSOC); // 釋放結果集 mysqli_free_result($result); //關閉先前打開的數據庫鏈接: mysqli_close($con); ?>
首先建立一個index.html文件(表單)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="index.php" method="post"> 用戶名:<input type="text" name="username"> 密碼:<input type="password" name="password"> <button type="submit">提交</button> </form> </body> <script type="text/javascript"> </script> </html>
index.php文件
<?php $db = []; $db["host"] = "127.0.0.1"; $db["user"] = "root"; $db["pwd"] = "root"; $db["database"] = "mengli"; $con = mysqli_connect($db['host'], $db['user'], $db['pwd'], $db['database']); $sql = "SELECT * FROM user WHERE username = '" . $_POST['username'] . "'"; $result = mysqli_query($con, $sql); $result = mysqli_fetch_all($result); //檢查獲取的數據是否一致 //若是獲取的數據爲空,即用戶輸入的用戶名不存在 if ( empty( $result ) ) { echo "找不到這個用戶";//若是獲取的數據爲空,即用戶輸入的用戶名不存在 die; } if( !empty( $result ) ){//若是獲取的數據不爲空 //檢查客戶輸入的密碼是否與所獲數據中的密碼一致 if ($result[0][2] == $_POST["password"]) { echo "登入成功"; die; } else { echo "密碼錯誤"; die; } } // 釋放結果集 mysqli_free_result($result); //關閉先前打開的數據庫鏈接: mysqli_close($con);