PHP连接数据库

时间:2021-04-17 17:28:10

 一、连接数据库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);