博主信息
博文 32
粉丝 0
评论 0
访问量 25178
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0423数据库的简单操作
田亢的博客
原创
947人浏览过

实例

<?php
/医院
 * 配置数据库连接参数
 */

define ('DB_HOST', 'localhost');
define ('DB_USER', 'root');
define ('DB_PASS', '123456');
define ('DB_NAME', 'php');
define ('DB_CHAR', 'utf8');

运行实例 »

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


数据库连接的步骤

实例

<?php
//1.导入数据库连接参数
require 'mysqli_config.php';
//2.调用连接函数,成功则返回mysqli对象,失败返回false
$db = mysqli_connect(DB_HOST,DB_USER,DB_PASS);
//var_dump($db);
//3.测试连接是否成功
//连接失败一定会返回错误编码,可以根据编号判断,也可用$db是否为false进行判断

if (mysqli_connect_errno($db)){
    exit('连接失败'.mysqli_stmt_error($db));

}
echo '<h1>连接成功!</h1>';

//4.选择要操作的数据库
mysqli_select_db($db,DB_NAME);

//5.设置默认字符集
mysqli_set_charset($db,DB_CHAR);

运行实例 »

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

mysqli数据库连接简化版


实例

<?php
//1.导入数据库连接参数
require 'mysqli_config.php';

//2. 调用连接函数,返回连接资源
$db = @mysqli_connect(DB_HOST, DB_USER, DB_PASS,DB_NAME) or die('连接失败'.mysqli_connect_error($db));

//3. 设置默认字符集
mysqli_set_charset($db, DB_CHAR);

运行实例 »

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

执行查询

  1. 数据库的查询:不仅仅包括查询,还包括新增,更新与删除操作,即读写操作,或者访问操作

  2. mysqli_query($bd,$sql):执行SQL语句

  3. mysqli_errno($db):返回最后一次函数执行的错误代码

  4. mysqli_error($db):返回最后一次函数执行的错误信息

  5. mysqli_close($db):关闭当前的数据连接

  6. 实例

    <?php
    //1.连接数据库,require 不是函数,后面不用加括号
    require 'mysqli_connect.php';
    //2.执行查询,
    if ($res = mysqli_query($db,"SELECT name,salary FROM staff")){
    
        while ($row = mysqli_fetch_assoc($res)){
            //输出或返回一个变量的字符串表示
            var_export($row);
            print '<hr>';
        }
    }else{
        exit('查询失败'.mysqli_errno($db).':'.mysqli_error($db));
    }
    
    //释放结果集
    mysqli_free_result($res);
    //关闭数据库连接
    mysqli_close($db);

    运行实例 »

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

更为详细的查询步骤

实例

<?php
//1.连接数据库,require 不是函数,后面不用加括号
require 'mysqli_connect.php';
//2.准备SQL语句
$sql = "SELECT name,salary FROM staff";
//3.执行查询:成功会返回结果集对象,失败返回false
$result = mysqli_query($db,$sql);
//4.检测结果
if(false != $result){

if(mysqli_num_rows($result)>0){//如果结果集中存在记录,至少有一条, 此命令仅对select语句有效
//要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。

echo '共计:'.mysqli_affected_rows($db).'条记录~~<br>' ;
//处理结果集
//以对象的方式
while($row=mysqli_fetch_object($result)){
echo $row->name.'--'.$row->salary;
echo '<hr>';
}

} else {
   echo '没有符合条件的记录';
}
}else {
    //必须要用exit()或die()终止脚本执行,否则后面的语句还会执行并会报错
    exit('查询失败'.mysqli_errno($db).':'.mysqli_error($db));
}
//5.释放结果集(仅针对select)
mysqli_free_result($result);

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

运行实例 »

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

向数据表中新增数据

实例

<?php
//1.连接数据库
require 'mysqli_connect.php';
//2.准备SQL
$sql = "INSERT INFO staff (name,sex,age,salary) VALUES  ('小昭',1,20,2400),('宋青书',0,40,1800),('成昆',0,70,9000)";

//3.执行查询:成功返回true,失败返回false

if(mysqli_query($db,$sql)){

if(mysqli_affected_rows($db)>0){


        //返回受影响的记录数与新增主键id

echo '成功新增了'.mysqli_affected_rows($db).'条记录,’<br>’新记录的主键id是:'.mysqli_insert_id($db);

}


}else { //项目上线后,不应该将出错信息显示出来,否则会暴露数据库的相关信息
    exit(mysqli_errno($db).':'.mysqli_error($db));
}

运行实例 »

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

删除数据表中的数据

实例

<?php

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

//2.准备sql语句
$sql = "DELETE FROM staff WHERE staff_id = 12";

//3.执行查询:成功返回true,失败返回false

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

//4.关闭连接
mysqli_close($db);

运行实例 »

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

更新数据表中的数据

实例

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

//2.准备sql语句
$sql = "UPDATE staff SET salary WHERE staff_id=2";

//3.执行查询:成功返回true,失败返回false

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

//4.关闭连接
mysqli_close($db);

运行实例 »

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

多语句执行与多结果集处理技术

实例

<?php
/*
涉及的函数

mysqli_multi_query($db,$sql):执行多个查询语句
mysqli_store_result($db):获取最后一次查询结果产生的结果集
mysqli_more_results($db):检测多次查询是否还是更多的结果集,返回布尔值
mysqli_next_result($db):从多结果集中采取下一结果集

*/

/*
mysqli_multi_query 与 mysqli_query 不同,查询成功并不返回结果集 而是返回true,失败返回false
多语句查询的当前结果集要用mysqli_store_result来获取成功返回的结果集对象,失败返回false
mysqli_more_results判断多语句车讯结果中是够还存在更多的结果集,如果有返回true,否则返回false
mysqli_next_result取出下一个结果集,成功返回true,失败返回false

*/
//1.连接数据库
require 'mysqli_connect.php';
//2.准备多条查询课程,每条语句之间必须引用字符串连接
$sql = "SELECT sex,ROUND(AVG(salary),2) FROM staff GROUP BY sex";

$sql .= "SELECT name,age FROM staff WHERE age>50;";

$sql .= "SELECT name,salary FROM staff WHERE salary<5000";
$num = 1;
if (mysqli_multi_query($db,$sql)){
    echo '第'.$num.'个结果子集中的数据:<br>';
    //如果获取到了当前结果子集,则遍历当前的结果子集中的数据
    while($result = mysqli_store_result($db)){
        //如果当前结果子集中存在满足条件的记录的话,就进行输出
        if (mysqli_affected_rows($db)>0){
            //循环遍历结果子集中的每一条记录,解析到一维数组中

            while($row=mysqli_fetch_assoc($result)){
                print_r($row);//打印输出
                echo '<br>';
            }
            mysqli_free_result($result);
        }else{
            echo '当前结果集中没有满足条件的数据~';
        }
        if (mysqli_more_results($db)){
            $num++;
            echo '<hr color="red">第'.$num.'个结果子集中的数据:<br>';
            mysqli_next_result($db);
        }
    }
}else{
    //查询失败,并给出错误编号与信息提示
    exit(mysqli_errno($db).':'.mysqli_error($db));
}
//4.释放当前的数据库连接
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+教程免费学