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);
运行实例 »
点击 "运行实例" 按钮查看在线实例
代码执行图片: