您好,登錄后才能下訂單哦!
如何用php從mysql數據庫中讀出查詢的數據,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
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數據庫中讀出查詢的數據的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。