天天看点

执行sql语句时候mysqli详解

执行sql语句时候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默认。同时产生关联和数字数组