• 技术文章 >头条

    php中的数据库查询操作

    无忌哥哥无忌哥哥2019-02-22 15:09:41原创14199
    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):关闭当前的数据连接

    * 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 '共计:'.mysqli_num_rows($result).'条记录<br>';
            echo '共计:'.mysqli_affected_rows($db).'条记录~~<br>';

    //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.'--'.$row->salary;
                echo '<hr>';
                //以变量方式表示,表示的内容更加完整丰富
    //            var_dump($row);
            }
        } else {
            echo '没有符合条件的记录';
        }
        //查询失败的处理方式
    } else {
        //必须要用exit()或die()终止脚本执行,否则后面的语句还会执行并会报错
        exit('查询失败'.mysqli_errno($db).':'.mysqli_error($db));
    }

    //5.释放结果集(仅针对select)

    mysqli_free_result($result);

    //6.关闭数据库连接

    mysqli_close($db);
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php向数据表新增数据 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 2023,正式进入 PHP8 普及元年!• PHP增势迅猛!2022全球最受欢迎的8种编程语言• 【整理推荐】值得收藏的8个实用PHP库• 【整理分享】7个有趣又实用的开源GitHub项目• 三年面试经验分享:前端面试的四个阶段和三个决定因素
    1/1

    PHP中文网