溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用php從mysql數(shù)據(jù)庫(kù)中讀出查詢的數(shù)據(jù)

發(fā)布時(shí)間:2021-10-18 09:32:06 來(lái)源:億速云 閱讀:180 作者:柒染 欄目:編程語(yǔ)言

如何用php從mysql數(shù)據(jù)庫(kù)中讀出查詢的數(shù)據(jù),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

php從mysql數(shù)據(jù)庫(kù)中讀出查詢的數(shù)據(jù)的方法:1、通過(guò)mysqli_connect連接mysql數(shù)據(jù)庫(kù);2、設(shè)置字符集編碼格式;3、執(zhí)行SQL語(yǔ)句;4、處理結(jié)果集。

如何用php從mysql數(shù)據(jù)庫(kù)中讀出查詢的數(shù)據(jù)

本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦

php怎么從mysql數(shù)據(jù)庫(kù)中讀出查詢的數(shù)據(jù)?

PHP+MySql實(shí)現(xiàn)后臺(tái)數(shù)據(jù)的讀?。?/strong>

我們使用的是PHP 的php_mysqli擴(kuò)展

首先了解一些基礎(chǔ)的用法

1.連接數(shù)據(jù)庫(kù)使用

mysqli_connect()
 參數(shù):①主機(jī)地址 ②MYSQL用戶名 ③MYSQL密碼 ④選擇連接的數(shù)據(jù)庫(kù) ⑤ 端口號(hào)
 返回:如果連接成功 返回資源類型的標(biāo)識(shí)符號(hào),如果失敗返回false
 如果我們與Mysql建立的連接不止一條,那么以后操作數(shù)據(jù)庫(kù)的各種函數(shù)都必須傳入返回的連接符號(hào)
 如果我們與mysql建立的連接只有一條,那么以后操作數(shù)據(jù)庫(kù)的各種函數(shù)就不必傳入這個(gè)標(biāo)識(shí)符號(hào)

2.設(shè)置字符集編碼格式
 mysqli_set_charset() ;

3.執(zhí)行SQL語(yǔ)句
  如果是增刪改 將返回布爾類型的是否成功
  如果是查詢,將返回資源結(jié)果集
  $res=mysqli_query();

4.處理結(jié)果集

    mysqli_fetch_assoc($res);   返回關(guān)聯(lián)數(shù)組
    mysqli_fetch_row($res);    返回索引數(shù)組
    mysqli_fetch_object($res);   返回對(duì)象
    mysqli_fetch_field($res);      返回結(jié)果集中每一列的字段信息(字段名,表名,數(shù)據(jù)庫(kù)名,字段類型)
    mysqli_data_seek($res, 0);    設(shè)置結(jié)果集指針位置,為零,結(jié)果集復(fù)位到最開(kāi)始
    mysqli_free_result($res);     釋放查詢資源結(jié)果集
    mysqli_close($conn);      關(guān)閉數(shù)據(jù)庫(kù)連接

下面我們來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單注冊(cè)登錄的功能。

先將通用的配置提到一個(gè)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("數(shù)據(jù)庫(kù)連接失敗,<span style='color:red;'>".mysqli_connect_error()."</span>");
    mysqli_set_charset($con, CHARSET) or die("字符集編碼設(shè)置無(wú)效");

在數(shù)據(jù)庫(kù)中建個(gè)表,以便存取用戶信息。在這我在mydb數(shù)據(jù)庫(kù)中創(chuàng)建了一個(gè)名為submit的表。

如何用php從mysql數(shù)據(jù)庫(kù)中讀出查詢的數(shù)據(jù)

首先做的事注冊(cè)功能,注冊(cè)就是將用戶輸入表單中的信息保存到后臺(tái)數(shù)據(jù)庫(kù)的表中

下邊的是注冊(cè)頁(yè)的樣式,沒(méi)什么好說(shuō)的,記住name ID即可

<div class="panel panel-primary">
           <div class="panel-heading">
               <div class="panel-title">用戶注冊(cè)</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>確認(rèn)密碼</label>
                       <input type="password" class="form-control" name="rePwd" />
                   </div>
                   <div class="form-group">
                       <label>真實(shí)姓名</label>
                       <input type="text" class="form-control" name="realName" />
                   </div>
                   
                   <div class="form-group btns">
                       <input type="button" class="btn btn-primary" value="確定注冊(cè)" id="submit"/>
                           
                       <a type="button" class="btn btn-success" href="login.php"/>返回登錄</a>
                   </div>
                   
               </form>
           </div>
       </div>

重點(diǎn)是看看如何用JQuery將數(shù)據(jù)POST到后臺(tái)

<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("所有信息不可為空,請(qǐng)確認(rèn)!");                    return;
               }else if(pwd!=rePwd){
                   alert("兩次密碼輸入不一致!");                    return;
               }
               
               $.post("doReg.php",{                    "userName":userName,                    "pwd":pwd,                    "realName":realName
               },function(data){
                   alert(data);                    
                   if(data=="注冊(cè)成功"){
                       location = "login.php";
                   }
               })
               
           });
       });    </script>

后臺(tái)的php文件接收數(shù)據(jù)后,將接收的數(shù)據(jù)通過(guò)SQL語(yǔ)句操作數(shù)據(jù)庫(kù)將數(shù)據(jù)存入表中

<?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("用戶名已經(jīng)存在!");  
   }    elseif($res){        echo 'true';
   }else{        die();
   }    

這樣,點(diǎn)擊注冊(cè)按鈕,就可將輸入的信息存入表中。成功后跳轉(zhuǎn)登陸頁(yè)

下面做的就是登陸頁(yè),登錄功能需要讀取存在表中的用戶名與密碼信息

登錄頁(yè)樣式也不多說(shuō)。同樣記住需要的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="登錄系統(tǒng)" id="submit"/>
                            
                        <a type="button" class="btn btn-success" href="reg.php"/>注冊(cè)賬號(hào)</a>
                    </div>
                    
                </form>
            </div>
        </div>

重點(diǎn)還是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>

上述登陸頁(yè)的JQ代碼所做的是,取到后臺(tái)登陸PHP文件從數(shù)據(jù)庫(kù)中讀取的用戶名與密碼信息和用戶輸入的新相比較,true則登陸成功

那么后臺(tái)登陸頁(yè)怎么寫(xiě)的呢,很簡(jiǎn)單,通過(guò)SQL語(yǔ)句從表中讀取到信息后,返回給前臺(tái)登錄頁(yè)面即可

<?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);

登陸成功后,提示登錄成功,跳轉(zhuǎn)到首頁(yè)(index.html)

看完上述內(nèi)容,你們掌握如何用php從mysql數(shù)據(jù)庫(kù)中讀出查詢的數(shù)據(jù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI