博客列表 >mysqli_connect() 与mysqli_query()的用法-2018年4月25日0时43分发布(23日作业)

mysqli_connect() 与mysqli_query()的用法-2018年4月25日0时43分发布(23日作业)

lilove的博客
lilove的博客原创
2018年04月25日 00:55:31730浏览

主题:

数据库连接的基本步骤;mysqli_connect()

数据库查询的基本步骤;mysqli_query()

实现效果:

0423实现效果.png


数据库参数定义(db_config.php):

<?php
// 定义mysql数据库连接参数常量
define ('DB_HOST','localhost'); //主机名
define ('DB_USER','root'); //数据库用户名
define ('DB_PASS','root'); //数据库密码
define ('DB_NAME','php'); //数据库名
define ('DB_CHAR','utf8'); //数据库字符集

运行实例 »

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


数据库连接变量定义文件(mysqli_connect.php):

<?php
// 包含连接参数
require 'db_config.php';

// 定义数据库连接变量
$db = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME)or die('连接失败'.mysqli_connect_error($db));

// 设置数据库字符集
mysqli_set_charset($db,DB_CHAR);

运行实例 »

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

多种查询实例代码(mysqli_query.php):

<?php
// 设置文档字符编码
//header("Content-type: text/html; charset=utf-8");

// 包含连接数据库文件
require 'mysqli_connect.php';

// 定义查询操作变量
$sql = "SELECT * FROM staff;";

//执行SQL语句
//mysqli_query表示查询到的结果集,$db是包含数据库文件中选择的数据库,$sql是查询语句
$result = mysqli_query($db, $sql);

//判定结果集如果为true(存在)
if (false != $result) {
//可以简写为
//if($result) {
//    mysqli_num_rows是结果集中的行数,是一个数字
//    if(mysqli_num_rows($result)>0) {
//    受影响的行数也可以判断
    if (mysqli_affected_rows($db) > 0) {
        //查询到数据之后将结果集输出到一个数组中,不同的方法需要不同的输出方式
//        while($row = mysqli_fetch_array($result)) {
//        while($row = mysqli_fetch_row($result)) {
//        while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
//        while($row = mysqli_fetch_assoc($result)) {
//        while($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
        while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
//        对象方式
//        while($row = mysqli_fetch_object($result)) {
            echo '<pre>';
//            var_dump($row);
            var_export($row);
            echo '<hr>';
        }

    } else {
        //如果没有查询到结果
        echo '没有符合条件的数据记录';
    }
} else {
    //输出出错信息
    exit(mysqli_errno($db) . ':' . mysqli_error($db));
}

//释放结果集
mysqli_free_result($result);

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

运行实例 »

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

最简写法实例(mysqli_select.php也是工作中的写法):

<?php
// 包含连接数据库文件
require 'mysqli_connect.php';

// 定义查询操作变量
$sql = "SELECT * FROM staff;";

//判定结果集如果为true(存在)
if ($result = mysqli_query($db, $sql)) {
//    mysqli_num_rows是结果集中的行数,是一个数字
    if(mysqli_num_rows($result)>0) {
        while($row = mysqli_fetch_assoc($result)) {
            var_export($row);
            echo '<hr>';
        }

    }
}

//释放结果集
mysqli_free_result($result);

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

运行实例 »

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


总结:

数据库操作必须分这几步:连接-->定义sql变量-->执行数据库操作-->关闭连接(如果需要释放结果集则释放)

数据库的操作中删除和更新操作比较危险,须带条件。

查询操作方法多样,结果输出方式也比较多样化,注意每种方式的不同。

推荐方式:mysqli_fetch_assoc($result);

生产环境中不要把错误信息输出。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议