Blogger Information
Blog 33
fans 0
comment 0
visits 24423
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数据库连接的基本步骤:mysqli_connect(), 数据库查询的基本步骤:mysqli_query()--2018.04.29上传
张鑫的博客
Original
1541 people have browsed it

总结:

数据库连接常用的函数:

$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);

运行实例 »

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





Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post