博主信息
博文 51
粉丝 3
评论 1
访问量 44142
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
mysqli_connect() mysqli_query()—2018年4月24日11时56分
Gee的博客
原创
1157人浏览过

配置:

实例

<?php
/**
 * 数据库参数
 */

//1.创建连接参数
define('DB_HOST', '127.0.0.1'); //mac/Linux: localhost
define('DB_USER', 'root');
define('DB_PASS', 'root');
define('DB_NAME', 'php');
define('DB_CHAR', 'utf8'); // 没有横杠

运行实例 »

点击 "运行实例" 按钮查看在线实例

数据库连接:

实例

<?php
/**
 * 创建数据库连接
 */

//1.创建连接参数
require 'mysqli_config.php';

//2.调用连接函数返回连接对象
$db = mysqli_connect(DB_HOST, DB_USER, DB_PASS);

//3.判断是否连接成功
if (mysqli_connect_errno($db)) {
    exit('连接失败'.mysqli_connect_error($db));
}
//echo '<h1>连接成功</h1>';

//4.选择默认的数据库
mysqli_select_db($db,DB_NAME);

//5.设置客户端默认字符编码集
mysqli_set_charset($db,DB_CHAR);

运行实例 »

点击 "运行实例" 按钮查看在线实例

数据库查询:

实例

<?php
/**
 * mysqli_query($db, $sql)
 * 1. select:查询,读操作,返回就是一个结果集
 * 2. insert/update/delete:写操作,返回是受影响的记录数量
 *  查询:广义:查询、新增、更新、删除 (增删改查CURD)
 *        狭义:查询 select,读操作
 */

//1.连接数据库
require 'mysqli_connect.php';

//2.执行查询
$sql = "SELECT * FROM staff;";

if ($res = mysqli_query($db, $sql)) {
    while($row = mysqli_fetch_array($res, MYSQLI_ASSOC)) {
        var_export($row); print '<hr>';
    }
} else {
    exit('查询失败'.mysqli_errno($db).':'.mysqli_error($db));
}

//3.释放结果集(仅针对查询操作,读操作)
mysqli_free_result($res);

//4.关闭数据库的连接
mysqli_close($db);

运行实例 »

点击 "运行实例" 按钮查看在线实例

多个查询:

实例

<?php
/**
 * 多语句执行和多结果集处理技术
 */

//1.连接数据库
require 'mysqli_connect.php';

//2.准备多条查询语句,每条语句之间必须要用字符串进行连接
//任务1:按性别统计工资的平均数
$sql = "SELECT sex,ROUND(AVG(salary),2) FROM staff GROUP BY sex;";
//任务2:查询年龄大于50的员工信息
$sql .= "SELECT name,age FROM staff WHERE age>50;";
//任务3:查询工资小于5000的员工信息
$sql .= "SELECT name,salary FROM staff WHERE salary<5000;";

//3.执行多条select语句的查询:mysqli_multi_query(), mysqli_query()
$num = 1; //统计查询结果集的数量
if (mysqli_multi_query($db, $sql)) {
    echo '第'.$num.'个结果子集中的数据是:<br>';
    //如果获取到了结果子集,就直接遍历它
    while ($result = mysqli_store_result($db)) {
        if (mysqli_num_rows($result) > 0) {
            while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
                print_r($row); echo '<br>';
            }

            //释放当前结果子集
            mysqli_free_result($result);
        } else {
            echo '当前结果集中没有满足条件的数据啦';
        }

        //判断当前的结果集中,是否还有结果子集
        if (mysqli_more_results($db)) {
            $num++;
            echo '<hr>第'.$num.'个结果子集中的数据是:<br>';
            //将结果集指针下移到下一个结果子集
            mysqli_next_result($db);
        }
    }
} else {
    exit(mysqli_errno($db).':'.mysqli_error($db));
}

//4.关闭数据库的连接
mysqli_close($db);

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:

  1. 将配置单独写在一个文件中,方便日后修改迁移

  2. 数据库操作基本步骤:

            1.连接数据库

            2.准备sql语句

            3.执行语句

            4.关闭数据库连接

3.记得释放结果集

mysqli_free_result($result);

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学