php怎麼從mysql資料庫中讀出查詢的資料

2021-10-18 10:00:21

php從mysql資料庫中讀出查詢的資料的方法:1、通過mysqli_connect連線mysql資料庫;2、設定字元集編碼格式;3、執行SQL語句;4、處理結果集。

本文操作環境:windows7系統、PHP7.1版、DELL G3電腦

php怎麼從mysql資料庫中讀出查詢的資料?

PHP+MySql實現後臺資料的讀取:

我們使用的是PHP 的php_mysqli擴充套件

首先了解一些基礎的用法

1.連線資料庫使用

mysqli_connect()
引數:①主機地址 ②MYSQL使用者名稱 ③MYSQL密碼 ④選擇連線的資料庫 ⑤ 埠號
返回:如果連線成功 返回資源型別的識別符號號,如果失敗返回false
如果我們與Mysql建立的連線不止一條,那麼以後運算元據庫的各種函數都必須傳入返回的連線符號
如果我們與mysql建立的連線只有一條,那麼以後運算元據庫的各種函數就不必傳入這個識別符號號

2.設定字元集編碼格式
mysqli_set_charset() ;

3.執行SQL語句
如果是增刪改 將返回布林型別的是否成功
如果是查詢,將返回資源結果集
$res=mysqli_query();

4.處理結果集

    mysqli_fetch_assoc($res);   返回關聯陣列
    mysqli_fetch_row($res);    返回索引陣列
    mysqli_fetch_object($res);   返回物件
    mysqli_fetch_field($res);      返回結果集中每一列的欄位資訊(欄位名,表名,資料庫名,欄位型別)
    mysqli_data_seek($res, 0);    設定結果集指標位置,為零,結果集復位到最開始
    mysqli_free_result($res);     釋放查詢資源結果集
    mysqli_close($conn);      關閉資料庫連線

下面我們來實現一個簡單註冊登入的功能。

先將通用的設定提到一個PHP檔案中,後邊再用到引入即可

<?php
    header("Content-Type:text/html;charset=utf-8");
    
    
    define("HOST", "127.0.0.1");
    define("USERNAME", "root");
    define("PASSWORD", "");
    define("DBNAME", "mydb");
    define("CHARSET", "utf8");
    
    $con=mysqli_connect(HOST, USERNAME, PASSWORD, DBNAME) or die("資料庫連線失敗,<span style='color:red;'>".mysqli_connect_error()."</span>");
    mysqli_set_charset($con, CHARSET) or die("字元集編碼設定無效");

在資料庫中建個表,以便存取使用者資訊。在這我在mydb資料庫中建立了一個名為submit的表。

首先做的事註冊功能,註冊就是將使用者輸入表單中的資訊儲存到後臺資料庫的表中

下邊的是註冊頁的樣式,沒什麼好說的,記住name ID即可

<div class="panel panel-primary">
<div class="panel-heading">
<div class="panel-title">使用者註冊</div>
</div>
<div class="panel-body">
<form class="form-horizontal">
<div class="form-group">
<label>使用者名稱</label>
<input type="text" class="form-control" name="userName"/>
</div>
<div class="form-group">
<label>密碼</label>
<input type="password" class="form-control" name="pwd" />
</div>
<div class="form-group">
<label>確認密碼</label>
<input type="password" class="form-control" name="rePwd" />
</div>
<div class="form-group">
<label>真實姓名</label>
<input type="text" class="form-control" name="realName" />
</div>

<div class="form-group btns">
<input type="button" class="btn btn-primary" value="確定註冊" id="submit"/>

<a type="button" class="btn btn-success" href="login.php"/>返回登入</a>
</div>

</form>
</div>
</div>

重點是看看如何用JQuery將資料POST到後臺

<script src="../../js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
$("#submit").on("click",function(){ var userName = $("input[name='userName']").val(); var pwd = $("input[name='pwd']").val(); var rePwd = $("input[name='rePwd']").val(); var realName = $("input[name='realName']").val(); if(userName==""||pwd==""||rePwd==""||realName==""){
alert("所有資訊不可為空,請確認!"); return;
}else if(pwd!=rePwd){
alert("兩次密碼輸入不一致!"); return;
}

$.post("doReg.php",{ "userName":userName, "pwd":pwd, "realName":realName
},function(data){
alert(data);
if(data=="註冊成功"){
location = "login.php";
}
})

});
}); </script>

後臺的php檔案接收資料後,將接收的資料通過SQL語句運算元據庫將資料存入表中

<?php header("Content-Type:text/html;charset=utf-8"); $str=$_POST["formData"]; list($username)=explode("&", $str); list(,$pwd)=explode("&", $str); list(,,,$realname)=explode("&", $str); list(,$username)=explode("=", $username); list(,$pwd)=explode("=", $pwd); list(,$realname)=explode("=", $realname); include_once("mysql.php"); $sql=<<<sql
insert into submit (username,pwd,realname) values ("$username","$pwd","$realname");
sql; $sql2=<<<sql2
SELECT username FROM submit WHERE username="$username";
sql2; $res2=mysqli_query($con, $sql2); $res=mysqli_query($con, $sql); if(mysqli_num_rows($res2)>0){ die("使用者名稱已經存在!");
} elseif($res){ echo 'true';
}else{ die();
}

這樣,點選註冊按鈕,就可將輸入的資訊存入表中。成功後跳轉登陸頁

下面做的就是登陸頁,登入功能需要讀取存在表中的使用者名稱與密碼資訊

登入頁樣式也不多說。同樣記住需要的name與ID

<div class="panel panel-primary">
            <div class="panel-heading">
                <div class="panel-title">使用者登入</div>
            </div>
            <div class="panel-body">
                <form class="form-horizontal">
                    <div class="form-group">
                        <label>使用者名稱</label>
                        <input type="text" class="form-control" name="userName"/>
                    </div>
                    <div class="form-group">
                        <label>密碼</label>
                        <input type="password" class="form-control" name="pwd"/>
                    </div>
                    
                    <div class="form-group btns">
                        <input type="button" class="btn btn-primary" value="登入系統" id="submit"/>
                            
                        <a type="button" class="btn btn-success" href="reg.php"/>註冊賬號</a>
                    </div>
                    
                </form>
            </div>
        </div>

重點還是JQ程式碼

<script src="../../js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
$("#submit").on("click",function(){ var userName = $("input[name='userName']").val(); var pwd = $("input[name='pwd']").val();

$.post("doLogin.php",{ "userName":userName, "pwd":pwd
},function(data){
alert(data); if(data=="登入成功"){
location = "index.php";
}else{
alert("使用者名稱或密碼有誤!");
}
});
});
}); </script>

上述登陸頁的JQ程式碼所做的是,取到後臺登陸PHP檔案從資料庫中讀取的使用者名稱與密碼資訊和使用者輸入的新相比較,true則登陸成功

那麼後臺登陸頁怎麼寫的呢,很簡單,通過SQL語句從表中讀取到資訊後,返回給前臺登入頁面即可

<?php
header("Content-Type:text/html;charset=utf-8");include_once("../mysql/mysql.php");
$userName = $_POST["userName"]; $pwd = $_POST["pwd"];
$loginSql = <<<login
select * from submit where username="{$userName}" and pwd = "{$pwd}";
login; $res = mysqli_query($con, $loginSql);
if($row = mysqli_fetch_row($res)){ $_SESSION["user"] = $row; echo "登入成功";
}else{ echo "登入失敗";
}
mysqli_free_result($res); mysqli_close($con);

登陸成功後,提示登入成功,跳轉到首頁(index.html)

推薦學習:《》

以上就是php怎麼從mysql資料庫中讀出查詢的資料的詳細內容,更多請關注TW511.COM其它相關文章!