一、php连接mysqli数据库方法
- PHP与MySQL连接:MySQL扩展提供了一个面向过程的接口,PHP应用与MySQL数据库交互
- PHP与PDO连接:PDO的API,可以在任何需要的时候无缝切换数据
- PHP与mysqli连接:mysqli是MySQL增强扩展
- 以mysqli举例:
- 首先,mysqli的扩展安装,有以下两步,检测是否安装成功
- 打开phpstudy的php.ini文件,找到extension=mysqli,前面的分号去掉就是开启了
还可以搜索extension_dir是否在它的目录下面:D:\phpstudy_pro\Extensions\php\php7.3.4nts\ext
方法1、phpinfo();然后打开当前文档:http://php.edu/0715/demo1.php,搜索mysqli
phpinfo();
方法2、extension_loaded(),打开当前文档http://php.edu/0715/demo1.php, 看是否返回true
var_dump(extension_loaded('mysqli'));
方法3、get_loaded_extension(),打开所有的库,搜索mysqli
var_dump(get_loaded_extensions());
方法4、function_exists(),检测mysqli函数是否可用
function_exists('mysqli_connect');
- 建立连接到mysql,打开指定的数据库,需要接口,melinda是指打开哪个数据库
// 第1步,建立连接
$mysqli = @new mysqli('localhost', 'root', 'melinda123', 'melinda');
if ($mysqli->connect_errno) {
die("CONNECT_ERROR:" . $mysqli->connect_errno);
}
// 第2步:设置客户端字符集
$mysqli->set_charset('utf-8');
// 获取客户端信息
echo $mysqli->client_info;
// 获取服务端信息
echo $mysqli->server_info;
二、获取到mysqli_result对象,遍历二维数组
1. 通过mysql_query(),成功执行SELECT,SHOW,DESCRIBE,EXPLAIN查询,会返回一个mysqli_result对象,其它查询返回true,失败返回false
<?php
// 1,连接数据库
$mysqli = @new mysqli('localhost', 'root', 'melinda123', 'melinda');
if ($mysqli->connect_errno) {
die("CONNECT_ERROR:" . $mysqli->connect_error);
}
$mysqli->set_charset('utf-8');
// 2,获取mysqli_result对象
$sql = "SELECT `username`,`password` FROM `user`";
$res = $mysqli->query($sql);
// 3,抓取所有的结果行并且以关联数据和数值索引数组,两者皆有的方式返回结果集:fetch_all()
$a = $res->fetch_all(MYSQLI_BOTH);
print_r($a);