PHPMySQL操作
前面已经说了通过Navicat对数据库的进行增删改查,下面用公司通信录的数据库(company)进行讲解
模型文件以及SQL文件下载
常用函数
函数名 | 说明 |
---|---|
mysqli_connect | 链接数据库 |
mysqli_connect_errno | 链接时提示错误码 |
mysqli_connect_error | 链接时提示错误信息 |
mysqli_select_db | 选择数据库 |
mysqli_set_charset | 设置编码 |
mysqli_query | 执行Sql语句 |
mysqli_num_rows | 获取返回结果行数 |
mysqli_fetch_all | 获取返回所有数据的关联数组,第二个参数是规定返回的数组类型,关联数组:MYSQLI_ASSOC 索引数组:MYSQLI_NUM 所有数组类型:MYSQLI_BOTH |
mysqli_fetch_assoc | 获取返回的结果集里的一组关联数组 |
mysqli_insert_id | 返回最后一个查询中自动生成的 ID(通过 AUTO_INCREMENT 生成) |
mysqli_error | 返回执行失败的错误信息 |
mysqli_affected_rows | 返回最后执行SQL语句所影响的记录行数 |
链接数据库
<?php
header("Content-Type:text/html;charset=utf-8");
/*
链接数据库
host 主机地址
username 用户名
password 密码
*/
$conn = @mysqli_connect('localhost','root','root');
//链接数据库失败
if(!$conn){
echo '错误码:' . mysqli_connect_errno() . '<br>';
echo '错误信息:' . mysqli_connect_error();
exit;
}
$select = mysqli_select_db($conn,'company');
if(!$select){
echo '选择数据库失败';
exit;
}
// 设置编码
mysqli_set_charset($conn,'utf8');
查询所有数据
// sql语句
$sql = "SELECT * FROM `pre_admin`";
$res = mysqli_query($conn,$sql);
$data = [];
if($res && mysqli_num_rows($res) > 0){
$data = mysqli_fetch_all($res,MYSQLI_ASSOC);
}
var_dump($data);
查询单条数据
$sql = "SELECT * FROM `pre_admin` WHERE `id` = '1'";
$res = mysqli_query($conn,$sql);
$data = [];
if($res && mysqli_num_rows($res) > 0){
$data = mysqli_fetch_assoc($res);
}
var_dump($data);
插入一条新的数据
$username = 'admin';
$salt = '6xChSuJQag';
$pwd = md5('123456'.$salt);
$avatar = '2021082310582038867120.jpg';
$sql = "INSERT INTO `pre_admin`(`username`,`password`,`avatar`,`salt`)VALUES('$username','$pwd','$avatar','$salt')";
$res = mysqli_query($conn,$sql);
if($res){
echo mysqli_insert_id($conn);
}else {
echo "SQL语句执行失败:" . $sql . '<br />';
echo "错误信息:".mysqli_error($conn);
exit;
}
更新一条数据
$username = 'demo';
$sql = "UPDATE `pre_admin` SET `username` = '$username' WHERE `id` = '1'";
$res = mysqli_query($conn,$sql);
if($res){
echo mysqli_affected_rows($conn);
}else{
echo 'SQL语句执行失败:' . $sql .'<br />';
echo '错误信息:' . mysqli_error($conn);
exit;
}
删除一条数据
// 按条件删除
$id = 1;
$sql = "DELETE FROM `pre_admin` WHERE `id` = '$id'";
$res = mysqli_query($conn,$sql);
if($res){
echo mysqli_affected_rows($conn);
}else {
echo 'SQL语句执行错误:' . $sql;
echo '错误信息:' . mysqli_error($conn);
exit;
}