第7讲:mysqli扩展库(面向对象、面向过程)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
mysqli
1.mysqli (mysql improve) mysql扩展库的增强版
2.mysql 与mysqli 的比较
①mysqli 的稳定性和安全性,效率有所提高
②mysqli 支持面向对象编程,同时支持为了照应老程序员,也提供了面向过程的编程风格。
3.mysqli 类:代表php和mysql数据库之间的一个连接。
4.mysqli操作mysql数据库的步骤
①创建mysqli 对象//验证
②操作数据库(发送sql)
③处理结果
④关闭资源
5.实例:mysqli扩展库面向对象的方式操作数据库
header("content-type:text/html;charset=utf-8"); //编码
$mysqli=new mysqli("localhost","root","111111","php"); //1111111实例化
if($mysqli->connect_error){ //1111验证
die("失败".$mysqli->connect_error);
}
$sql="select * from words"; //2222222 发送指令
$res=$mysqli->query($sql); //33333333接受=发送的指令的返回结果while($row=$res->fetch_row()){ //3333对结果进行处理foreach($row as $key=>$val){
echo "--$val";
}
echo "
";
}
$res->free(); //44444 关闭资源
$mysqli->close();
?>
注:
1.面向对象中,程序中的$res用于代表sql语句的执行结果
①如果执行的事dml语句,则返回bool;
②如果执行的事dql语句,则返回查询结果mysqli_result 结果集对象。
2.从mysqli 中取出查询结果有如下方式
①mysqli_result::fetch_assoc → mysql_fetch_assoc
②mysqli_result::fetch_row →mysql_fetch_row
③mysqli_result::fetch_array →mysql_fetch_array
④mysqli_result::fetch_object →mysql_fetch_object
推荐使用前2种:字段查询与索引查询
3.var_dump(); 用于数组类型的查询与比较
6.实例:mysqli扩展库面向过程的方式操作数据库(连、发、处、关)
header("content-type:text/html;charset=utf-8");
$mysqli=mysqli_connect("localhost","root","111111","php");
if(!$mysqli){
die("连接失败".mysqli_connect_error($mysqli));
}
$sql="select * from words";
$res=mysqli_query($mysqli,$sql);
while($row=mysqli_fetch_row($res)){
foreach($row as $key=>$val){
echo "--$val";
}
echo "
";
}
mysqli_free_result($res);
mysqli_close($mysqli);
?>
7.对资源使用基本原则是:晚创建,早释放。