php 数据库操作实战作业,论坛留言功能,PHP 数据库操作 db_medoo v2.1.2

科技资讯 投稿 8400 0 评论

php 数据库操作实战作业,论坛留言功能,PHP 数据库操作 db_medoo v2.1.2

php 数据库操作实战作业,论坛留言功能,更新功能:

1.对数据库表添加、修改、删除追加action。

2.添加对表结构的返回值 

3.添加对FIND_IN_SET及RAW支持

数据库操作

对 Medoo Version: 2.1.10 再封装,让操作更简单。

composer require thefunpower/db_medoo

$where条件

'user_name[REGEXP]' => '[a-z0-9]*'
'user_name[FIND_IN_SET]'=>(string)10
'user_name[RAW]' => '[a-z0-9]*'
$where = [
	//like查寻
	'product_num[~]' => 379, 
	//等于查寻
	'product_num' => 3669, 
	//大于查寻
	'id[>]' => 1,
	'id[>=]' => 1,
	'id[<]' => 1,
	'id[<=]' => 1,
]; 
$where = []; 
$where['OR'] = [
	'product_num[~]'=>379,
	'product_num[>]'=>366,
];
$where['LIMIT'] = 10;
$where['ORDER'] = ['id'=>'DESC']; 

where字段两个日期之间

字段是datetime类型

$date1 = '2022-11-01'; $date2 = '2022-12-14'; db_between_date($field,$date1,$date2)

where 两个月份之间

$date1 = '2022-11';
$date2 = '2022-12';
db_between_month($field,$date1,$date2

查寻一条记录

$res = db_get_one("products","*",$where);
$res = db_get_one("products",$where);

所有记录

$res = db_get("products","*",$where);
$res = db_get("products",$where);

分页

$res  = db_pager("products","*",$where);

使用原生方法

原生方法将不会触发action

https://medoo.in/api/where

$res = db()->select("products",['id'],[]);

查寻某个字段

$res  = db_get("qr_rule","qr_num",['GROUP'=>'qr_num']);
print_r($res); 

写入记录

db_insert($table, $data = [],$don_run_action = false)

更新记录

db_update($table, $data = [], $where = [],$don_run_action = false)

取最小值

db_get_min($table, $join  = "*", $column = null, $where = null)

其他一些如取最大值等

db_get_max db_get_count db_get_has db_get_rand db_get_sum db_get_avg

删除

db_del($table, $where)

action

写入记录前

do_action("db_insert.$table.before", $data);
do_action("db_save.$table.before", $data);

写入记录后

其中$data有 id 及 data

do_action("db_insert.$table.after", $action_data); do_action("db_save.$table.after", $action_data);

更新记录前

do_action("db_update.$table.before", $data);
do_action("db_save.$table.before", $data);

更新记录后

其中$data有 id data where

do_action("db_update.$table.after", $action_data); do_action("db_save.$table.after", $action_data);

do_action("db_get_one.$table", $v); 

删除前

do_action("db_insert.$table.del", $where);

显示所有表名

show_tables($table)

取表中字段

get_table_fields($table, $has_key  = true)

返回数据库允许的数据,传入其他字段自动忽略

db_allow($table, $data)

显示数据库表结构,支持markdown格式

database_tables($name = null, $show_markdown = false)

数组排序

array_order_by($row,$order,SORT_DESC);

判断是json数据

is_json($data)

SQL查寻

db_query($sql, $raw = null)
do_action("db_query", $all) 

其中$sql为select * from table_name where user_id=:user_id

$raw 为 [':user_id'=>1]

事务

需要inner db支持

db_action(function()use($data)){ });

id锁

db_for_update($table,$id)

设置分页总记录数

db_pager_count($nums = null)

连表查寻

$data = db_pager("do_order",
["[><]do_mini_user" => ["uid" => "id"]],
[
    "do_order.id",
    "do_order.uid",
    "user" => [
        "do_mini_user.nickName",
        "do_mini_user.avatarUrl",
        "do_mini_user.openid",
    ]
],
$where);

db_get复杂查寻

$lists = db_get('do_order', [ 
    'count' => 'COUNT(`id`)',
    'total' => 'SUM(`total_fee`)',
    'date'  => "FROM_UNIXTIME(`inserttime`, '%Y-%m-%d')"
], 

其他where条件请查看

https://medoo.in/api/where

License

The MIT License (MIT)

Zed 编辑器在玩一种很新的“开源”
局 · 06/20 11:17
9 评论
红帽破坏生态,AlmaLinux 公布未来规划
Alias_Travis · 06/23 11:15
23 评论
红帽限制 RHEL 代码访问,瞄准 Rocky Linux 和 AlmaLinux
Alias_Travis · 06/22 12:26
26 评论
前端 UI 框架 Svelte 4 发布
Alias_Travis · 06/23 10:46
5 评论
Rust 管理结构大改:解散核心团队、成立“领导委员会”
罗奇奇 · 06/21 11:53
15 评论
YouTube 要求开源应用停止服务,开发者拒不服从
Alias_Travis · 06/20 14:47
4 评论
C++ 26 已初具规模
白开水不加糖 · 06/20 18:31
23 评论
谷歌在一个函数中放入 2 万个变量,引发 Firefox 崩溃
Alias_Travis · 昨天 17:17
8 评论
微软确认 Windows 11 存在 CPU 占用异常的问题
Alias_Travis · 前天 10:39
3 评论
进程模型、线程模型,PostgreSQL 正面临抉择
Alias_Travis · 06/20 18:49
18 评论

编程笔记 » php 数据库操作实战作业,论坛留言功能,PHP 数据库操作 db_medoo v2.1.2

赞同 (45) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽