创建mysqli的对象:
$db = new mysqli("主机","账号","密码","数据库","端口");
如:
$db = new mysqli("127.0.0.1","root","123456","weibodemo","3306");
查看是否链接成功:
if($db->connect_errno){
die('连接错误'. $db->connect_error);
}
设置字符集:
$db->set_charset('utf8');
编写sql语句:
$seledtsql ="select * from tablename where 字段名='字段值'"
$insertsql="insert into tablename set 字段名1='值1',字段名2='值2',字段名3='值3'"
$updatesql="update into tablename set 字段名='值1',字段名='值2',字段名3='值3'"
注意:tablename两侧一定不要加单引号,字段名两侧一定不要加单引号,字段值两侧需加单引号。
执行sql语句:
$result=$db->query($sql)
注意:查询语句执行返回的是结果集对象。结果对象有以下属性和方法:
$result->num_rows;
该属性用来获取当次查询一共查询了多少条数据,是int类型。
$result->fetch_array();
这个方法每执行一次将获得一条数据,并且将结果集中的指针自动下移一位。如果要取得结果集中所有数据,可以结合while循环获取。
$result->fetch_row();
该方法和fetch_array()方法相似,不同的是它返回的数组只有下标。
当执行完这些操作后,$result对象已经没什么用了,如果不消除会占用系统内存。可以用$result->free()方法释放结果集占用的内存。
insert和update语句执行结果不是结果集,是布尔类型,没有num_rows属性和fetch_array()、free()方法。执行成功返回true,失败返回false。
如果新增或者更新语句结果使用free()方法释放,会报如下错误:
Fatal error: Uncaught Error: Call to a member function free() on boolean in ……
最后,当所有操作执行完毕后,需要将数据库连接关闭:
$db->close();
该文依据的测试环境为:PHP7.4