博主信息
博文 33
粉丝 0
评论 0
访问量 29713
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
数据库连接的基本步骤:mysqli_connect(), 数据库查询的基本步骤:mysqli_query()--2018.04.29上传
张鑫的博客
原创
1703人浏览过

总结:

数据库连接常用的函数:

$db = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);  //连接数据库

mysqli_connect_errno($db);  //错误编号

mysqli_connect_error($db);  //错误信息

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

数据库增删改查时常用的函数:

mysqli_query($db,$sql);  //执行sql语句的函数

mysqli_errno($db);   mysqli_error($db);   //执行sql语句出错后的错误信息

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

mysqli_affected_rows($db);  //被影响的记录数

mysqli_insert_id($db);  //新增主键的ID,执行新增操作时才会有

mysqli_num_rows($res);  //结果集中的记录数

mysqli_fetch_array($res);  //把结果集遍历到数组中,关联和索引都有

mysqli_fetch_array($res,MYSQL_ASSOC);  //把结果集遍历到关联数组中

mysqli_fetch_array($res,MYSQL_NUM);  //把结果集遍历到索引数组中

mysqli_multi_query($db,$sql);  //执行多条sql语句的函数

$res = mysqli_store_result($db);  //返回多个结果集中的最高一位

mysqli_more_results($db);  //判断结果集中是否还有更多的结果子集

mysqli_next_result($db);  //移动结果集指针

1.select:查询,读操作,返回的是结果集,可以想象成一张表
2.insert/update/delete:写操作,返回的是受影响的记录数量
注意:查询操作后要释放结果集
           新增,更新,删除都是危险操作,更新和删除都要有where条件

数据库连接配置文件代码:

实例

<?php
//创建数据库连接
//1.准备好连接要用的所有参数
define('DB_HOST','127.0.0.1');
define('DB_USER','root');
define('DB_PASS','root');
define('DB_NAME','demo');
define('DB_CHAR','utf8');

运行实例 »

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

数据库连接代码:

实例

<?php
//创建数据库连接
//1.引入配置文件
require 'mysqli_config.php';
//2.调用连接函数mysqli_connect();返回连接对象
$db = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME)or die('连接失败'.mysqli_connect_error($db));

//3.设置客户端默认字符编码集
mysqli_set_charset($db,DB_CHAR);
//echo '<p>成功</p>';

运行实例 »

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

新增操作代码:

实例

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

//IGNORE:如果添加的数据已经存在,就会忽略,不会重复添加,要生效必须要有唯一索引字段
$sql = "INSERT IGNORE student SET name='张无忌',course='php',grade=90;";//准备sql语句

if (mysqli_query($db,$sql)){
    if (mysqli_affected_rows($db)>0){//判断被影响的记录数
        echo '成功添加了'.mysqli_affected_rows($db).'条数据,新增记录的主键ID是:'.mysqli_insert_id($db);
    }else{
        echo '没有记录被新增';
    }
}else{//出错
    exit(mysqli_errno($db).':'.mysqli_error($db));
}

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

运行实例 »

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

更新操作代码:

实例

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


$sql = "UPDATE student SET grade=96 WHERE id=8;";//准备sql语句

if (mysqli_query($db,$sql)){
    if (mysqli_affected_rows($db)>0){//判断被影响的记录数
        echo '成功更新了'.mysqli_affected_rows($db).'条数据';
    }else{
        echo '没有记录被更新';
    }
}else{//出错
    exit(mysqli_errno($db).':'.mysqli_error($db));
}

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

运行实例 »

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

删除操作代码:

实例

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


$sql = "DELETE FROM student WHERE id=8;";//准备sql语句

if (mysqli_query($db,$sql)){
    if (mysqli_affected_rows($db)>0){//判断被影响的记录数
        echo '成功删除了'.mysqli_affected_rows($db).'条数据';
    }else{
        echo '没有记录被删除';
    }
}else{//出错
    exit(mysqli_errno($db).':'.mysqli_error($db));
}

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

运行实例 »

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

查询操作代码:

实例

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


$sql = "SELECT name,grade FROM student;";//准备sql语句

if ($res = mysqli_query($db,$sql)){
    if (mysqli_num_rows($res)>0){//判断记录数
        while($row = mysqli_fetch_array($res,MYSQLI_ASSOC)){
            var_export($row);echo '<hr>';
        }
    }else{
        echo '没有查询到结果';
    }
}else{//出错
    exit(mysqli_errno($db).':'.mysqli_error($db));
}

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

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

运行实例 »

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

多条sql语句执行代码:

实例

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

//按性别进行分组,查询男生和女生的篇平均分数
$sql = "SELECT sex,ROUND(AVG(grade),2) FROM student GROUP BY sex;";//准备多条sql语句

//查询成绩小于80分的学生
$sql.="SELECT name,grade FROM student WHERE grade<80;";

//查询年龄大于25岁的学生
$sql.="SELECT name,grade FROM student WHERE grade<80;";

if (mysqli_multi_query($db,$sql)){
    //获取结果集中的最高一位结果子集,如果它存在,就进行遍历
    while($res = mysqli_store_result($db)){

        if (mysqli_num_rows($res)>0){
            while($row = mysqli_fetch_array($res,MYSQLI_ASSOC)) {
                var_export($row);echo '<br>';
            }
            mysqli_free_result($res);  //释放当前结果子集
        }else{
            echo '当前结果子集中没有数据';
        }


        if (mysqli_more_results($db)){  //判断当前数据库中是否还有更多的结果集
            echo '<hr>';
            mysqli_next_result($db);  //下移指针
        }
    }
}else{//出错
    exit(mysqli_errno($db).':'.mysqli_error($db));
}


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

运行实例 »

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





批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学