mysqli的基本使用
2021/9/7 19:06:21
本文主要是介绍mysqli的基本使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
简单实例
-
面向过程方式
// 创建数据库连接 $connect = mysqli_connect('127.0.0.1', 'root', 'root', 'test', 8889); // 判读是否连接成功了 if (!$connect) { echo '数据库连接失败<br>'; // 打印连接失败的原因 var_dump(mysqli_connect_error($connect)); exit(); } // 设置字符集 mysqli_set_charset($connect, 'utf8'); // 组装sql语句 $sql = "SHOW TABLES"; // 执行sql语句 $res = mysqli_query($connect, $sql); // 获取结果 $res_array = mysqli_fetch_all($res); var_dump($res_array); mysqli_close($connect); // 输出结果: array (size=2) 0 => array (size=1) 0 => string 'family' (length=6) 1 => array (size=1) 0 => string 'person' (length=6)
-
面向对象方式
// 创建数据库连接对象 $connect = new mysqli('127.0.0.1', 'root', 'root', 'test', 8889); // 判断是否连接成功 if ($connect->connect_errno) { // 发生错误时,$connect->connect_errno会返回对应的错误码 echo '数据库连接失败<br>'; // 打印错误信息 var_dump($connect->connect_error); } // 设置字符集 $connect->set_charset('utf8'); // 组装sql语句 $sql = "SHOW TABLES"; // 执行sql语句 $res = $connect->query($sql); // 获取结果集 $data = $res->fetch_all(); // 关闭连接 $connect->close();
mysqli详解
1. 连接数据库
连接数据库有两种方式,一种是通过mysqli_connect()
帮助函数,另一种是通过new mysqli()
对象来实现
两者所需传的参数同样都是这些(注意先后顺序):
-
host
数据库地址数据库地址可以传入域名或ip地址,如
localhost
或者127.0.0.1
-
username
管理用户名管理员账号,如:
root
-
password 管理员密码
管理员账号的密码
-
dtabases
要连接的数据选择要连接的数据库
-
port
端口号该参数如果不传,默认请求
3306
端口
2. 设置字符集
- 使用
mysqli_set_charset($connect, 'utf8');
函数设置
第一个参数为mysqli的对象,第二个参数为需要设置的字符集,注意mysql的字符集中的utf8
没有中间的-
- 使用面向对象的方式创建
$connect = new mysqli('127.0.0.1', 'root', 'root', 'test', 8889); $connect->set_charset('utf8'); // 或者 $connect = mysqli_connect('127.0.0.1', 'root', 'root', 'test', 8889); $connect->set_charset('utf8'); # 都可以这么使用
3. 执行sql语句
通过mysqli_query()进行执行SELECT
, SHOW
, DESCRIBE
或 EXPLAIN
,失败时返回false
$sql = "SHOW TABLES"; $res = $connect->query($sql); # 或者 mysqli_query($connect, $sql);
打印一下他返回了什么
var_dump($res); object(mysqli_result)[2] public 'current_field' => int 0 public 'field_count' => int 1 public 'lengths' => null public 'num_rows' => int 2 # 返回了几条数据 public 'type' => int 0
4. 获取结果
通过mysqli_query()
执行的sql语句之后如何获取结果呢?可以通过mysqli_fetch_array()
、mysqli_fetch_assoc()
、mysqli_fetch_all()
、mysqli_fetch_row()
等进行获取结果
当需要获取一条数据的时候可以使用mysqli_fetch_row()
-
mysqli_fetch_array()
该函数的第一个参数是通过
mysqli_query()
返回的对象第二个参数是获取结果的类型:
MYSQLI_ASSOC
关联数组 同mysqli_fetch_assoc()
函数
MYSQLI_NUM
数字数组
MYSQLI_BOTH
默认。同时产生关联和数字数组# MYSQLI_BOTH 默认情况 $sql = "SHOW TABLES"; $res = $connect->query($sql); $data = $res->fetch_array(); # 或者 mysqli_fetch_array($res) var_dump($data); # 输出结果 array (size=2) 0 => string 'family' (length=6) 'Tables_in_test' => string 'family' (length=6)
# MYSQLI_ASSOC 获取关联数组 $sql = "SHOW TABLES"; $res = $connect->query($sql); $data = $res->fetch_array(MYSQLI_ASSOC); # 或者 mysqli_fetch_array($res, MYSQLI_ASSOC) var_dump($data); # 输出结果 array (size=1) 'Tables_in_test' => string 'family' (length=6)
# MYSQLI_NUM 获取关联数组 $sql = "SHOW TABLES"; $res = $connect->query($sql); $data = $res->fetch_array(MYSQLI_NUM); # 或者 mysqli_fetch_array($res, MYSQLI_NUM) var_dump($data); # 输出结果 array (size=1) 0 => string 'family' (length=6)
-
mysqli_fetch_assoc()
该函数与
mysqli_fetch_array
第二个参数传递MYSQLI_ASSOC
的结果是一样的$sql = "SHOW TABLES"; $res = $connect->query($sql); $data = $res->fetch_assoc(); # 或者 mysqli_fetch_assoc($res) # 输出结果 array (size=1) 'Tables_in_test' => string 'family' (length=6)
-
mysqli_fetch_all
同
mysqli_fetch_array
一样,只不过他的默认获取是数字索引数组$sql = "SHOW TABLES"; $res = $connect->query($sql); $data = $res->fetch_all(); # 或者 mysqli_fetch_all($res) # 输出结果 array (size=2) 0 => array (size=1) 0 => string 'family' (length=6) 1 => array (size=1) 0 => string 'person' (length=6)
-
mysqli_fetch_row
获取一条数据
$sql = "SHOW TABLES"; $res = $connect->query($sql); $data = $res->fetch_row(); # 或者 mysqli_fetch_row($res) # 输出结果 array (size=1) 0 => string 'family' (length=6)
5. 关闭连接
mysqli_close($connect); // 或者 $connect->close();
这篇关于mysqli的基本使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南