i:表示改进,1. 功能增加了, 2,效率大大增加(以后的PHP项目改成mysqli),3,更稳定
mysqli使用面向对象技术,但也支持过程化的使用方式
mysqli扩展中给我提供了三个类:
1. mysqli和连接有关的类
2. mysqli_result表达了对数据库的查询所返回的结果集。
以上两个类就可以完成 mysql扩展功能
3. mysqli_stmt (后面重点介绍)
选择过程化编程,还是选择面向对象技术
mysql(i)_connect()
mysql(i)_select_db();
mysql(i)_query();
就算是使用mysqli中过程化的编程方式,也比使用mysql编程方式
=============================================================
<?php
$mysqli=@new mysqli("localhost", "root", "123456", "xsphpdb");
if(mysqli_connect_errno()){
echo "连接数据库失败:".mysqli_connect_error();
$mysqli=null;
exit;
}
//select语句(结果集), 非select语句,会影响行数
$sql="insert into shops(name,price,num,desn) values('hello','34.56','22','good123')";
//$sql="delete from shops where id > '80'";
$result=$mysqli->query($sql);
if(!$result){
echo "SQL语句有误<br>";
echo "ERROR:".$mysqli->errno."|".$mysqli->error;
exit;
}
if($mysqli->affected_rows > 0){
echo "有行数被影响<br>";
}
echo "最后自动增长的ID:".$mysqli->insert_id;
$mysqli->close();