Blogger Information
Blog 32
fans 0
comment 0
visits 19838
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0423数据库的简单操作
田亢的博客
Original
761 people have browsed it

实例

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

运行实例 »

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










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