thinphp5数据库操作(一)
来源:互联网 发布:知乎周刊在哪里看 编辑:程序博客网 时间:2024/06/08 00:58
学习thinphp5操作数据库之前先创建一张表,利用Navicat for Mysql在 tp5数据库下创建名字是 tp_user 的表。sql语句是:
CREATE TABLE `tp_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(200) NOT NULL, `age` int(3) DEFAULT NULL, `create_time` int(50) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
数据是:
thinkphp5操作数据库首先需要配置链接数据库的database.php文件
配置之后为:
'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'tp5', // 用户名 'username' => 'root', // 密码 'password' => '', // 端口 'hostport' => '', // 连接dsn 'dsn' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'tp_',
需要注意的是最后一行设置了表的前缀。
之后的代码都是在 tp5/application/index/controller/Index.php 的 index的方法内
index方法是自己创建的
tp5是项目的名字.
准备工作结束了。
基本查询:
(查询之前别忘了:use think\Db;)
$user = Db::table('tp_user')->select();table内的参数是你要查询的表的完整名字
这句话的含义可以这样理解:
Db::table('tp_user') 告诉thinphp5要查询 tp_user 这张表,select()含义是要查询表中所有数据,最后将查询的所有语句赋值给$user.
$user = Db::name('user')->select();这两个语句查询的结果是一样的,这个语句查询的也是表 tp_user 因为之前在database.php设置了前缀,就是我刚才提到要注意的地方.
thinkphp5提供了助手函数用于查询:
$user = db('user')->select();这段代码跟上一行代码结果是一样的, 设置的数据库表前缀在这里也生效了.
$user = db('user')->find();find()只会查询表中第一条数据
利用var_dump($user);查看一下数据
(Db::table('tp_user') Db::name('user') db('user') 可以调用的方法是一样的)
// 这是要添加的数据 $data = ['name' => '小赵', 'age' => 30, 'create_time' => '000']; db('user')->insert($data);
Db::table('tp_user')
Db::name('user')
也是可以的自己测试下
添加多条数据:
// 要插入的多条数据 $data = [ ['name' => '小刘', 'age' => 30, 'create_time' => '000'], ['name' => '小孙', 'age' => 66, 'create_time' => '000'] ]; db('user')->insertAll($data);数据变成多维数组
方法变成
insertAll()
阅读全文
0 0
- thinphp5数据库操作(一)
- 数据库的操作(一)
- android-数据库操作一
- Acesss数据库操作一
- Android数据库操作<一>
- Oracle 数据库操作《一》
- JAVA_JDBC操作数据库(一)
- 【MySQL】数据库操作【一】
- mysql数据库操作(一)
- 数据库操作语言学习一
- 数据库基本操作命令一
- 一、SQL语句:数据库操作
- MongoDB 数据库操作(一)
- 数据库的基本操作(一)
- android数据库操作(一)
- android数据库操作优化(一)
- Poco数据库操作用户手册(一)
- 一、MySQL数据库基本操作
- 使用fiddler抓包保存jmeter文件
- HDU
- Linux--java jdk安装(tar.gz)
- mac 下 android studio 的离线gradle极速配置方法
- Bitmap算法
- thinphp5数据库操作(一)
- Java
- fragment
- 发送邮箱信息
- 关于js数组的一些机试题
- 一致性哈希
- mysql中MyISAM和InnoDB的数据文件的存储方式
- RecyclerView 多条数据却只显示一条数据
- C++ 虚拟基类