$db = new MySQLi("localhost","root","123","mydb"); $sql = "select * from car where {$tj} and {$tj2}"; echo $sql; $relsut = $db->query($sql); if($relsut){ $arr = $relsut->fetch_all(); if(empty($arr)){ echo "未查到数据!"; }else{ foreach($arr as $v){ echo "<tr> <td>{$v[0]}</td> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[4]}</td> <td>{$v[7]}</td> </tr>"; } } }
以前我们访问数据库的时候,要做的步骤如上代码所示:
大体步骤:
建立一个数据库连接 ——>编写SQL语句——>执行SQL语句——>接收、判断执行结果——>遍历数据——>输出结果。
中间的步骤如果重复多次,可能代码也会重复很多次。
现在我们学习了面向对象,就可以把中间的步骤封装成一个 数据访问的类,每次加载这个数据访问类,就比以前效率也提高。
<?php class DBDA{ public $host="localhost"; //服务器地址 public $uid="root"; //用户名 public $pwd="123"; //密码 public $dbname="mydb"; //常用数据库名称 /* 执行一条SQL语句的方法 @param sql 要执行的SQL语句 @param type SQL语句的类型,0代表查询 1代表增删改 @return 如果是查询语句返回二维数组,如果是增删改返回true或false */ public function query($sql,$type=0){ $db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname); $result = $db->query($sql); if($type){ return $result; }else{ return $result->fetch_all(); } } }
以后我们做数据访问的时候,就可以加载这个DBDA.class.php ,减少很多代码量,提高效率了。
require_once "../DBDA.class.php"; //加载DBDA.class.php $db = new DBDA(); //新建数据库连接 $sql = ""; //编写SQL语句 $result = $db->query($sql); //接收结果然后根据情况输出结果