博客列表 >mysqli_connect() mysqli_query()—2018年4月24日11时56分

mysqli_connect() mysqli_query()—2018年4月24日11时56分

Gee的博客
Gee的博客原创
2018年04月24日 12:02:40988浏览

配置:

实例

<?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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议