一、连接数据库mysqli_connect
参数:① 主机地址
② MySQL用户名
③ MySQL密码
④ 选择连接的数据
⑤ 端口号
返回:如果连接成功,返回资源类标识符;
如果连接失败,返回false。
注意: ① 主机地址和用户名必填。
② 如果MySQL密码为空,则可以省略密码或者用""代替
mysqli_connect("127.0.0.1", "root");
mysqli_connect("127.0.0.1", "root", "", "mydb");
③ 连接的数据库可以省略,但需要在连接以后使用其他函数选择数据库
④ 端口号可以省略。默认端口号3306
$conn = mysqli_connect("127.0.0.1", "root", "", "mydb");
二、检测数据库连接是否成功
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_error($conn):返回各种数据库操作的错误信息。
mysqli_select_db($conn, "mydb") or die("选择数据库失败!".mysqli_error($conn));
四、设置字符集编码mysqli_set_charset
注意:只能设置utf8,不能选择utf-8
mysqli_set_charset($conn, "utf8") or die("字符集编码设置失败!".mysqli_error($conn));
五、准备SQL语句
$sql = <<<sql
select * 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);
关闭数据库连接
mysqli_close($conn);