<?php
header("Content-Type:text/html;charset=utf-8");
/*
一、连接数据库 mysqli_connect:
1、 参数: ① 主机地址 ② MySQL用户名 ③ MySQL密码 ④ 选择连接的数据库 ⑤ 端口号
返回: 如果连接成功, 返回资源类型的标识符; 失败, 返回false
注意: ① 主机地址和用户名必填
② 如果MySQL密码为空, 则可以省略密码或用 "" 代替
eg: mysqli_connect("127.0.0.1", "root");
mysqli_connect("127.0.0.1", "root", "");
③ 连接的数据库可以省略, 但需要在连接之后使用其它函数选择数据库
④ 端口号可以省略, 默认3306
*/
//$conn = mysqli_connect("127.0.0.1", "root", "", "mydb");//127.0.0.1 或 localhost 都可以, MySQL端口号默认3306
//var_dump($conn);
/*
二、检测数据库链接是否成功
mysqli_connect_errno([$conn]): 返回上次连接数据库的错误号, 连接成功返回0
mysqli_connect_error([$conn]): 返回上次连接数据库的错误信息
*/
//if(mysqli_connect_errno($conn)) die("数据库连接失败, 错误信息是: ".mysqli_connect_error());
//连接数据库的同时, 直接判断
$conn = mysqli_connect("127.0.0.1", "root", "", "mydb") or die("数据库连接失败, 错误信息是: ".mysqli_connect_error());
/*
三、选择数据库 mysqli_select_db()
参数: ① 资源标识符 ② 选择的数据库名称
返回值: 选择成功返回true, 失败返回false
如果修改成功, $conn中的数据库就会直接改变, 后续操作将使用新数据库查询
如果修改失败, $conn中的数据库不会 改变, 返回各种数据库操作的错误信息
*/
mysqli_select_db($conn, "mysql") or die("选择数据库失败".mysqli_error($conn));
/*
四、设置字符集编码 mysqli_set_charset()
注意: 只能设置为 utf8, 而不是 utf-8
*/
mysqli_set_charset($conn, "utf8") or die("字符集编码设置失败".mysqli_error($conn));
/*五、准备SQL语句*/
$sql = <<<sql
-- selsect * from `user`;
insert into `user` values(null,123,123,'一二三');
sql;
/*
六、执行SQL语句 mysqli_query()
参数: ① 资源标识符 ② sql语句
返回: 如果是DML 增删改等数据操作语言, 返回true或者false表示是否成功
如果是DQL 查询等 数据查询语言, 返回包含表中数据的资源结果集
如果查询失败, 直接返回false
*/
$res = mysqli_query($conn, $sql);
/*DML 语句返回受影响的行数*/
var_dump(mysqli_affected_rows($conn));
/*执行插入操作时, 返回最新自增的id*/
var_dump(mysqli_insert_id($conn));
/*DQL时, 返回查询出数据的总条数*/
//var_dump(mysqli_num_rows($res));
/*DQL时, 返回查询出数据的字段数*/
//var_dump(mysqli_num_fields($res));
/*
七、处理资源结果集
参数 ①: 需要处理的资源结果集
②: 需要返回哪种类型的数组: MYSQL_ASSOC --- 返回关联数组 MYSQL_NUM --- 返回索引数组
* MYSQL_BOTH --- 返回两种数组, 默认
*/
//var_dump(mysqli_fetch_array($res,MYSQL_NUM));
//返回关联数组
var_dump(mysqli_fetch_assoc($res));
//返回索引数组
var_dump(mysqli_fetch_row($res));
//返回一个对象
var_dump(mysqli_fetch_object($res));
/*将结果集的指针恢复到指定位置*/
mysqli_data_seek($res, 0);
/*八、释放结果集, 关闭数据资源*/
//释放资源结果集
mysqli_free_result($res);
//关闭数据库连接
mysql_close($conn);
var_dump($res);