本文实例讲述了ThinkPHP5.1框架数据库链接和增删改查操作。分享给大家供大家参考,具体如下:
一、数据库的链接方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<?php
namespace app\index\controller;
use think\Db;
class Demo
{
//1、全局配置 config/database.php配置
public function dbTest()
{
return Db::table( 'pzq_article' )
->where( 'id' , '29' )
->value( 'title' );
}
//2、动态配置 think\db\Query.php中有一个方法connect()
public function dbTest2()
{
return Db::connect([
'type' => 'mysql' ,
'hostname' => 'localhost' ,
'database' => 'top789' ,
'username' => 'root' ,
'password' => 'root' ,
])
->table( 'pzq_article' )
->where( 'id' , '76' )
->value( 'title' );
}
//3、DSN连接
public function dbTest3()
{
$dsn = 'mysql://root:root@localhost:3306/top789#utf8' ;
return Db::connect( $dsn )
->table( 'pzq_article' )
->where( 'id' , '88' )
->value( 'title' );
}
//4、单条查旬
public function dbTest4()
{
$res = Db::table( 'pzq_article' )
->field([ 'title' => '标题' , 'id' => '编号' ]) //可添加别名
->where( 'id' , '=' ,20) //如果是等号,=可以省略
->find(); //如果是主键查询,可省略上面where,这行写->find(20);
dump( is_null ( $res )? '没有查到' : $res );
}
//5、多条查旬
public function dbTest5()
{
$res = Db::table( 'pzq_article' )
->field([ 'id' , 'cat_id' , 'title' ])
->where([
[ 'id' , '>' ,20],
[ 'cat_id' , '=' ,2],
]) //一个条件,直接用表达式->where('id','>',20)。多个条件用数组
->order( 'id desc' )->limit(3)->select();
if ( empty ( $res )){
return '没有查到' ;
} else {
dump( $res );
}
}
//6、数据添加
public function dbTest6()
{
$data = [
'name' => 'Sam2' ,
'age' => '29' ,
'posttime' =>time()
];
$dataall =[
[ 'name' => 'Sam3' , 'age' => '29' , 'posttime' =>time()],
[ 'name' => 'Sam4' , 'age' => '30' , 'posttime' =>time()],
];
//(1)单条插入
//return Db::table('test')->data($data)->insert();
//(2)插入同时返回新增主键id
//return Db::table('test')->insertGetId($data);
//(3)插入多条数据
return Db::table( 'test' )->data( $dataall )->insertAll();
}
//更新数据
public function dbTest7()
{
// return Db::table('test')
// ->where('id','=',4)
// ->update(['name'=>'SamC','age'=>'31']);
//如果where条件是主键,还可以如下使用
return Db::table( 'test' )
->update([ 'name' => 'SamCheng' , 'age' => '30' , 'id' =>4]);
}
//删除操作
public function dbTest8()
{
//return Db::table('test')->delete(6);
//或者
return Db::table( 'test' )->where( 'id' ,5)-> delete ();
}
//mysql原生语句 查询
public function dbTest9()
{
$sql = "select name,age from test where id>2" ;
dump(Db::query( $sql ));
}
//mysql 增、删、改 用Db::execute($sql)
public function dbTest10()
{
//$sql = "update test set name='samC' where id=4";
//$sql = "insert test set name='Yan',age='30'";
$sql = "delete from test where id=4" ;
return Db::execute( $sql );
}
}
|
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/samcphp/article/details/79662314