Correction status:Uncorrected
Teacher's comments:
//1. 创建连接参数 创建连接参数: 因为连接参数不会经常变化,所以推荐使用常量 define ('DB_HOST', 'localhost'); define ('DB_USER', 'root'); define ('DB_PASS', 'root'); define ('DB_NAME', 'php'); define ('DB_CHAR', 'utf8'); //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);
点击 "运行实例" 按钮查看在线实例
注意:
连接数据库是的配置参数可以单独用一个php脚本存储,这样便于统一管理
<?php define ('DB_HOST', 'localhost'); define ('DB_USER', 'root'); define ('DB_PASS', 'root'); define ('DB_NAME', 'php'); define ('DB_CHAR', 'utf8');
加载数据库参数时,需要加载配置文件
//导入数据库连接参数 require 'mysqli_config.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 '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)); } //释放结果集(仅针对select) mysqli_free_result($res); //4.关闭数据库连接 mysqli_close($db);
点击 "运行实例" 按钮查看在线实例
<?php /医院 * 向数据表中新增数据 * 用到的函数: * 1.mysqli_query(), * 2.mysqli_errno(),mysqli_error(), * 3.mysqli_affected_rows(),mysqli_insert_id(), * 4.mysqli_close() */ //1.连接数据库 require 'mysqli_connect.php'; //2.准备sql语句 //$sql = "INSERT INTO staff (staff_id,name,sex,age,salary) VALUES (null,'赵敏',1,30,4000)"; //INSERT是标准SQL语法,不仅可插入一条,也可以插入多条,新记录之间用逗号分开,自增主键id可省 //$sql = "INSERT staff (name,sex,age,salary) VALUES // ('小昭',1,20,2400),('宋青书',0,40,1800),('成昆',0,70,9000)"; //针对MySQL数据库,还有一个更高效的插入数据的方法,不过每次只能插入一条记录 $sql = "INSERT staff SET name='灭绝师太',sex=1, age=58, salary=9999"; //3.执行查询:成功返回true,失败返回false //$res = mysqli_query($db, $sql); //var_dump($res);exit; 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)); } //4.关闭连接 mysqli_close($db);
点击 "运行实例" 按钮查看在线实例
<?php /医院 * 删除数据表中的数据 * 注意: 更新与新增不同,它是基于查询来实现的,推荐也必须要有更新条件 * 用到的函数: * 1.mysqli_query(), * 2.mysqli_errno(),mysqli_error(), * 3.mysqli_affected_rows(), * 4.mysqli_close() */ //1.连接数据库 require 'mysqli_connect.php'; //2.准备sql语句 $sql = "DELETE FROM staff WHERE staff_id=7"; //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);
点击 "运行实例" 按钮查看在线实例