php使用mysqli的方式操作mysql数据库实例

<?
//详细教程参考 https://blog.csdn.net/qq_35453862/article/details/125960324
# 本文不作任何安全或验证方面的处理, 只列举示例。

$server_name = '172.16.200.121:3336'; # 主机名或主机 IP
$username = 'hrpoa'; # MySQL 用户名
$password = 'hrptooa2024'; # MySQL 用户密码
$db_name = 'TD_OA'; # 测试数据库名

# 1. 创建 mysqli 实例, 连接 MySQL 数据库
$connect_obj = new mysqli($server_name, $username, $password);

# 错误码与错误原因
if ($connect_obj->connect_error){
    die("连接 MySQL 失败, 错误代码: " . $connect_obj->connect_errno . ', 错误描述: ' . $connect_obj->connect_error);
}

# 2. 创建数据库
/*
    $create_database_sql = "CREATE DATABASE {$db_name}";
    $create_database_result = $connect_obj->query($create_database_sql);
    */

# 3. 选择数据库
$select_db_result = $connect_obj->select_db($db_name);

# 4. 创建数据表
/*
    $create_table_sql = "CREATE TABLE `user` (
          `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户的ID',
          `user_name` varchar(140) NOT NULL DEFAULT '0' COMMENT '姓名',
          `password` varchar(120) NOT NULL COMMENT '登录密码',
          `sex` varchar(30) DEFAULT NULL COMMENT '性别',
          `creattime` varchar(40) NOT NULL COMMENT '创建时间',
          `is_del` enum('YES','NO') DEFAULT 'NO',
          PRIMARY KEY (`id`)
        ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户表';";
    $create_table_result = $connect_obj->query($create_table_sql);
    */

# 新增操作
/*
$insert_sql = "INSERT INTO user (user_name, password, sex, creattime) VALUES ('Leslie','123456','MAN','1658569655')"; # SQL 语句
$insert_result = $connect_obj->query($insert_sql); # 执行 SQL 语句
$inseret_id = $connect_obj->insert_id; # 获取新插入数据的自增 ID

# 删除操作
$delete_sql = "DELETE FROM user WHERE id < 5"; # 删除功能的 SQL 语句
$delete_result = $connect_obj->query($delete_sql); # 执行 SQL 语句
$delete_affected_rows = $connect_obj->affected_rows; # 获取最近一条 SQL 语句执行后所影响的行数

# 修改操作
$update_sql = "UPDATE user SET user_name = 'Chon' WHERE id = 6"; # 删除功能的 SQL 语句
$update_result = $connect_obj->query($update_sql); # 执行 SQL 语句
$update_affected_rows = $connect_obj->affected_rows; # 获取最近一条 SQL 语句执行后所影响的行数
*/
# 查询操作 - 开始
# 查询数据
$select_all_sql = "SELECT * FROM td_user where uid > 0";
$select_all_result = $connect_obj->query($select_all_sql); # 执行 SQL 语句

# 1. 获取多条数据
# $assoc_all = mysqli_fetch_all($select_all_result, MYSQLI_ASSOC); # 从结果集中取所有行, 以关联数组返回
# $num_all = mysqli_fetch_all($select_all_result, MYSQLI_NUM); # 从结果集中取所有行, 以索引数组返回

# 2. 获取单条数据
# 1. 对象格式
# $obj_row = mysqli_fetch_object($select_all_result); # 从结果集中取当前行, 以对象格式返回

# 2. 数组格式 - 关联数组或索引数组
# $assoc_row_1 = mysqli_fetch_assoc($select_all_result); # 从结果集中取当前行, 以关联数组返回
# $num_row_1 = mysqli_fetch_row($select_all_result); # 从结果集中取当前行, 以索引数组返回

# 3. 数组格式 - 关联数组或索引数组
# $assoc_row_2 = mysqli_fetch_array($select_all_result, MYSQLI_ASSOC); # 从结果集中取当前行, 以关联数组返回
# $num_row_2 = mysqli_fetch_array($select_all_result, MYSQLI_NUM); # 从结果集中取当前行, 以索引数组返回

# 3. 获取结果集总数量
$num_rows = mysqli_num_rows($select_all_result);

# 4. 数据处理
# 常用结果集处理方式, 循环结果集, 一行行处理

# 关联数组格式处理方式, mysql_fetch_assoc 可用 1.6.2 中其它数据获取方式替换
while ($row_array = mysqli_fetch_assoc($select_all_result)){
    # 数据的一些处理
	echo "<pre>";
	print_r($row_array);
	echo "</pre>";
}

# 对象格式处理方式
while ($row_object = mysqli_fetch_object($select_all_result)){
    # 数据的一些处理
}

# 5. 释放结果内存
mysqli_free_result($select_all_result);
$close_result = $connect_obj->close();

exit;

# 查询操作 - 结束

# 事务 - 开始
# 事务 - 第一步: 关闭自动提交
$connect_obj->autocommit(0); # 关闭自动提交

# 事务 - 第二步: CUD 等操作
$result = "SQL 操作";

# 事务 - 第三步: 提交事务或回滚事务
if ($result){
    # 如果运行结果正确, 则提交事务
    $connect_obj->commit();
} else {
    # 如果错误则回滚事务
    $connect_obj->rollback();
}

# 事务 - 第四步: 开启自动提交
$connect_obj->autocommit(1);
# 事务 - 结束

# 返回 MySQL 客户端库版本
$client_info = $connect_obj->get_client_info();

# 返回 MySQL 服务器端版本
$server_info = $connect_obj->get_server_info();

# 关闭先前的 MySQL 连接
$close_result = $connect_obj->close();


?>

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hai7425

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值