结果集对应关系可以有以下几种,都是查询出来之后取数据的
如上图 前两种效率较高。
095_mysqli.php
<?php
//include 'mysqliHelper.php';//可以选用include 或者 require_once 或者 直接用自动加载类执行
function __autoload($class_name){
require_once $class_name.'.php';//这种自动加载类的方式 需要保持 文件名 和类名保持一致 目前是这样
}
header("content-type:text/html;charset=utf-8");
//纯面向对象风格
/**
//1、不封装
$mysqli = new MySQLi("localhost","root","tmdqobn","db100");
if($mysqli->connect_errno){
die("连接数据库出错:= ".$mysqli->connect_error);
}
$sql = "INSERT INTO WORDS (enword,chword) VALUES ('card','卡片')";
$res = $mysqli->query($sql);
if(!$res){
die("添加出错出错");
}else{
echo "添加成功";
}
*/
//2、封装
$mysqlself = new Mysqlii('localhost','root','tmdqobn','db100');
$sql = "select * from words";
$res = $mysqlself->selDB($sql);
if($res){
echo "ok";
echo "<br/>";
}else{
//echo "false";
die("查询失败");
}
//echo "打印查询结果0000 ".$res->num_rows;
//var_dump($res->fetch_row());
echo "<br/>";
while($row = $res->fetch_row()){
$count = count($row);
//echo "每条记录数组长度 ".$count;
for($i = 0;$i<$count;$i++){
echo "--".$row[$i];
}
echo "<br/>";
}
?>
Mysqlii.php 自己封装类 还可以直接封装一个工具类内部实例化mysqli如代码下边的图
<?php
class Mysqlii extends MySQLi{
public $localhost;
public $rootname;
public $rootpwd;
public $dbname;
public function __construct($localhost,$rootname,$rootpwd,$dbname){
parent::__construct($localhost,$rootname,$rootpwd,$dbname);
$this->localhost=$localhost;
$this->rootname=$rootname;
$this->rootpwd=$rootpwd;
$this->dbname=$dbname;
}
/**
public function Mysqlii($localhost,$rootname,$rootpwd,$dbname){
$this->localhost=$localhost;
$this->rootname=$rootname;
$this->rootpwd=$rootpwd;
$this->dbname=$dbname;
}
*/
public function InDeDB($sql){//插入 删除 更新 数据 结果返回boolean
$res = parent::query($sql);
if($res){
"添加或删除更新数据成功";
}else{
die("添加或删除更新数据失败".Mysqlii::error);
}
}
public function selDB($sql){
$res = parent::query($sql);
//echo "查询结果".$res;
return $res;
}
}
?>