主题:
数据库连接的基本步骤;mysqli_connect()
数据库查询的基本步骤;mysqli_query()
实现效果:
数据库参数定义(db_config.php):
<?php // 定义mysql数据库连接参数常量 define ('DB_HOST','localhost'); //主机名 define ('DB_USER','root'); //数据库用户名 define ('DB_PASS','root'); //数据库密码 define ('DB_NAME','php'); //数据库名 define ('DB_CHAR','utf8'); //数据库字符集
运行实例 »
点击 "运行实例" 按钮查看在线实例
数据库连接变量定义文件(mysqli_connect.php):
<?php // 包含连接参数 require 'db_config.php'; // 定义数据库连接变量 $db = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME)or die('连接失败'.mysqli_connect_error($db)); // 设置数据库字符集 mysqli_set_charset($db,DB_CHAR);
运行实例 »
点击 "运行实例" 按钮查看在线实例
多种查询实例代码(mysqli_query.php):
<?php // 设置文档字符编码 //header("Content-type: text/html; charset=utf-8"); // 包含连接数据库文件 require 'mysqli_connect.php'; // 定义查询操作变量 $sql = "SELECT * FROM staff;"; //执行SQL语句 //mysqli_query表示查询到的结果集,$db是包含数据库文件中选择的数据库,$sql是查询语句 $result = mysqli_query($db, $sql); //判定结果集如果为true(存在) if (false != $result) { //可以简写为 //if($result) { // mysqli_num_rows是结果集中的行数,是一个数字 // if(mysqli_num_rows($result)>0) { // 受影响的行数也可以判断 if (mysqli_affected_rows($db) > 0) { //查询到数据之后将结果集输出到一个数组中,不同的方法需要不同的输出方式 // while($row = mysqli_fetch_array($result)) { // while($row = mysqli_fetch_row($result)) { // while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { // while($row = mysqli_fetch_assoc($result)) { // while($row = mysqli_fetch_array($result, MYSQLI_BOTH)) { while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) { // 对象方式 // while($row = mysqli_fetch_object($result)) { echo '<pre>'; // var_dump($row); var_export($row); echo '<hr>'; } } else { //如果没有查询到结果 echo '没有符合条件的数据记录'; } } else { //输出出错信息 exit(mysqli_errno($db) . ':' . mysqli_error($db)); } //释放结果集 mysqli_free_result($result); //关闭数据库连接 mysqli_close($db);
运行实例 »
点击 "运行实例" 按钮查看在线实例
最简写法实例(mysqli_select.php也是工作中的写法):
<?php // 包含连接数据库文件 require 'mysqli_connect.php'; // 定义查询操作变量 $sql = "SELECT * FROM staff;"; //判定结果集如果为true(存在) if ($result = mysqli_query($db, $sql)) { // mysqli_num_rows是结果集中的行数,是一个数字 if(mysqli_num_rows($result)>0) { while($row = mysqli_fetch_assoc($result)) { var_export($row); echo '<hr>'; } } } //释放结果集 mysqli_free_result($result); //关闭数据库连接 mysqli_close($db);
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结:
数据库操作必须分这几步:连接-->定义sql变量-->执行数据库操作-->关闭连接(如果需要释放结果集则释放)
数据库的操作中删除和更新操作比较危险,须带条件。
查询操作方法多样,结果输出方式也比较多样化,注意每种方式的不同。
推荐方式:mysqli_fetch_assoc($result);
生产环境中不要把错误信息输出。