PHP mysqli 操作数据库
程序员文章站
2022-05-22 08:33:04
...
起步
由于mysql连接方式被废除,据说在php7中要使用mysql_connect()还需要额外下载组件。
使用mysqli有面向过程和面向对象两种方式。
mysqli提供了三个类:
mysqli 连接相关的
mysqli_result 处理结果集
mysqli_stmt 预处理类
数据库连接
set_charset("utf8");//或者 $mysqli->query("set names 'utf8'")//关闭连接$mysqli->clise();//面向过程方式的连接方式$mysqli = mysqli_connect($db_host, $db_user, $db_pwd, $db_name);//判断是否连接成功if(!$mysqli ){ echo mysqli_connect_error();}//关闭连接mysqli_close($mysqli);?>
数据库查询
通用:执行sql语句都可用query(sql),执行失败会返回false,select成功则返回结果集对象,其他返回true,只要不是false就说明sql语句执行成功了。
query($sql);//或者$sql = "delete from table_name where name='xiaoming'";$result = $mysqli->query($sql);if($result === false){ echo $mysqli->error; echo $mysqli->errno;}//影响条数echo $mysqli->num_rows;//插入的idecho $mysqli->insert_id;$mysqli->close();
有结果集
query($sql);if($result === false){//执行失败 echo $mysqli->error; echo $mysqli->errno;}//行数echo $result->num_rows;//列数 字段数echo $result->field_count;//获取字段信息$field_info_arr = $result->fetch_fields();//移动记录指针//$result->data_seek(1);//0 为重置指针到起始//获取数据while($row = $result->fetch_assoc()){ echo $row['name']; echo $row['address'];}//也可一次性获取所有数据//$result->data_seek(0);//如果前面有移动指针则需重置$data = $result->fetch_all(MYSQLI_ASSOC);$mysqli->close();
上一篇: PHP执行实时进度