首頁  >  文章  >  php中的資料庫查詢操作

php中的資料庫查詢操作

无忌哥哥
无忌哥哥原創
2018-06-28 11:35:0615079瀏覽

php中的資料庫查詢操作

相關mysql影片教學推薦:《mysql教學

## * 1. 查詢操作

 * 2. 涉及的3個函數:

 * 2-1. mysqli_query($db, $sql):執行SQL語句,傳回結果集

 * 2-2. mysqli_errno($db):傳回最後一次函數執行的錯誤碼

 * 2-3. mysqli_error($db):傳回最後一次函數執行的錯誤訊息

 * 2-4. mysqli_num_rows($res): 傳回結果集中的記錄數量

 * 2-5. mysqli_fetch_row($res): 以索引陣列傳回一筆記錄

 * 2-5. mysqli_fetch_assoc($res): 以關聯數組傳回一筆記錄

 * 2-5. mysqli_fetch_array($res,MYSQLI_NUM): 以索引數組傳回一筆記錄

 * 2-5. mysqli_fetch_array( $res,MYSQLI_ASSOC): 以關聯陣列傳回一筆記錄

 * 2-5. mysqli_fetch_array($res,MYSQLI_BOTH): 以索引和關聯式並存陣列傳回一筆記錄

 * 2-5 . mysqli_fetch_object($res): 以物件方式傳回一筆記錄

 * mysqli_free_result($result);

 * 2-4. mysqli_close($db):關閉目前的資料連線

#M

# * 3. 查詢步驟:

 *  3-1.連接資料庫

 *  3-2.準備SQL語句

 *  3-3.執行查詢

 *  3-4.偵測結果

 *  3-5.如果是select,則回傳結果集

 *  3-5-1.如果是insert/update /delete:則傳回受影響的記錄數量

 *  3-6.關閉資料庫連線

//1.連接資料庫,require 不是函數,後面不用加括號

define ('DB_HOST', 'localhost');
define ('DB_USER', 'root');
define ('DB_PASS', 'root');
define ('DB_NAME', 'php');
define ('DB_CHAR', 'utf8');
$db = @mysqli_connect(DB_HOST, DB_USER, DB_PASS);
if (mysqli_connect_errno($db)) {
    exit('连接失败'.mysqli_connect_error($db));
}
mysqli_select_db($db, DB_NAME);
mysqli_set_charset($db, DB_CHAR);

//2.準備SQL語句

$sql = "SELECT name,salary FROM staff";
$sql = "SELECT name AS 姓名,salary AS 工资 FROM staff WHERE age>90";

//3.執行查詢:成功會傳回結果集物件,失敗回傳false

$result = mysqli_query($db, $sql);
var_dump($result);die();

//4.偵測結果

#//如果結果集存在

if (false != $result) { //这是写只是语义性更强
    //如果结果集中存在记录,至少有一条
//    if (mysqli_num_rows($result) > 0) {
    //mysqli_affected_rows($db)也可以完成同样的检测工作,注意参数是连接对象$db,不是结果集对象
    if (mysqli_affected_rows($db) > 0) {
//        echo &#39;共计:&#39;.mysqli_num_rows($result).&#39;条记录<br>&#39;;
        echo &#39;共计:&#39;.mysqli_affected_rows($db).&#39;条记录~~<br>&#39;;

//5.處理結果集

//5-1:取得索引部分

while($row = mysqli_fetch_array($result, MYSQLI_NUM)){

//取得索引部分的快速方法

while($row = mysqli_fetch_row($result)){

//5-2:取得關聯部分

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){

//取得關聯部分的快速方法

while($row = mysqli_fetch_assoc($result)){

//5-3:索引關聯

while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){

//5-4: 取得索引關聯的快速方法就是不傳入第二個參數,也就是預設值

while($row = mysqli_fetch_array($result)){

//5-4:以物件的方式

        while($row = mysqli_fetch_object($result)){
//            var_export($row);//以字符串方式表示查询结查
            //如果是对象,可以用指向符来访问
            echo $row->name.&#39;--&#39;.$row->salary;
            echo &#39;<hr>&#39;;
            //以变量方式表示,表示的内容更加完整丰富
//            var_dump($row);
        }
    } else {
        echo &#39;没有符合条件的记录&#39;;
    }
    //查询失败的处理方式
} else {
    //必须要用exit()或die()终止脚本执行,否则后面的语句还会执行并会报错
    exit(&#39;查询失败&#39;.mysqli_errno($db).&#39;:&#39;.mysqli_error($db));
}

//5.釋放結果集(僅針對select)

mysqli_free_result($result);
###//6.關閉資料庫連線###
mysqli_close($db);
### ###
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn