批改状态:合格
老师批语:
4月23日作业:
学习z怎样连接数据库 db_connect() 和用 db_query() 进行数据 增、删、改、查。
代码:
1、数据库参数定义为常量:db_define.php
<?php
/**
* 配置数据库连接参数
//创建连接参数: 因为连接参数不会经常变化,所以推荐使用常量
//define ('DB_HOST', 'localhost');
//define ('DB_USER', 'root');
//define ('DB_PASS', 'root');
//define ('DB_NAME', 'php');
//define ('DB_CHAR', 'utf8');
*/
//define ('DB_HOST', 'localhost');
define ('DB_HOST', '127.0.0.1');
define ('DB_USER', 'root');
define ('DB_PASS', 'root');
define ('DB_NAME', 'php');
define ('DB_CHAR', 'utf8');点击 "运行实例" 按钮查看在线实例
1、连接数据库: db_connect.php
<meta charset="utf-8">
<?php
/**
* mysqli数据库连接
* 步骤:
* 1. 创建连接参数
* 2. 调用连接函数,返回连接资源
* 3. 判断是否连接成功
* 4. 选择数据库
* 5. 设置默认字符集
*
*/
//1. 创建连接参数
//导入数据库连接参数
require 'db_config.php'; //引入地址
//2. 调用连接函数,成功则返回mysqli对象,失败返回false
$db = @mysqli_connect(DB_HOST, DB_USER, DB_PASS);
//var_dump($db);die();
//
//3. 测试连接是否成功?
//连接失败一定会返回错误编号,可以根据编号判断,也可用 $db是否为false进行判断
if (mysqli_connect_errno($db)) {
exit('连接失败'.mysqli_connect_error($db));
}
echo '<h1>连接成功</h1>';
//4. 选择要操作的数据库
mysqli_select_db($db, DB_NAME);
//5. 设置默认字符集
mysqli_set_charset($db, DB_CHAR);
?>点击 "运行实例" 按钮查看在线实例
3、使用函数: mysqli_query() 实现数据的 增、删、改、查。 db_query.php
<?php
/**
* 增、删、改、查
* 1. 数据库的查询:不仅仅包括查询,还包括新增,更新与删除操作,即读写操作,或者访问操作
* 2. 涉及的3个函数:
* 2-1. mysqli_query($db, $sql):执行SQL语句
* 2-2. mysqli_errno($db):返回最后一次函数执行的错误代码
* 2-3. mysqli_error($db):返回最后一次函数执行的错误信息
* 2-4. mysqli_close($db):关闭当前的数据连接
* 3. 增、删、改、查步骤:
* 3-1.连接数据库
* 3-2.执行增、删、改、查
* 3-3.关闭数据库连接
*/
//1.连接数据库,require 不是函数,后面不用加括号
require 'db_connect.php';
//2-1.查询数据
echo '<h2>1、查询数据 </h2>';
if($res = mysqli_query($db, "SELECT id,name,sex,salary FROM staff")) {
while($row = mysqli_fetch_assoc($res)) {
//var_export($row);
print_r($row);
print '<hr>';
}
} else {
exit('查询失败'.mysqli_errno($db).':'.mysqli_error($db));
}
echo '<hr color="red" size="3">';
//2-2.增加数据
echo '<h2>2、增加数据 </h2>';
$sql = "INSERT staff SET id = null, name = '武八', sex = 0, salary = 4500";
if (mysqli_query($db, $sql)) {
if (mysqli_affected_rows($db) > 0) {
//返回受影响的记录数与新增主键id
echo '成功的新增了'.mysqli_affected_rows($db).'条记录,<br>新记录的主键id是:'.mysqli_insert_id($db);
} else {
echo '没有记录被新增';
}
} else { //项目上线后,不应该将出错信息显示出来,否则会暴露数据库的相关信息
exit(mysqli_errno($db).':'.mysqli_error($db));
}
//2-3.修改数据
echo '<h2>3、修改数据 </h2>';
$sql = "UPDATE staff SET salary=3900, name='李平' WHERE id=5";
//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));
}
//2-4.删除数据
echo '<h2>4、删除数据 </h2>';
$sql = "DELETE FROM staff WHERE id=21";
//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));
}
//释放结果集(仅针对select)
mysqli_free_result($res);
//4.关闭数据库连接
mysqli_close($db);点击 "运行实例" 按钮查看在线实例
代码执行图片:





Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号