1、数据库为:thinkphp5,新建一数据表think_test
CREATE TABLE `think_test` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主ID',
`name` varchar(20) CHARACTER SET utf8 DEFAULT NULL COMMENT '姓名',
`email` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT 'email',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=76 DEFAULT CHARSET=utf8mb4;
2、在\application\database.php中修改
//'resultset_type' => 'array',
'resultset_type' => '\think\Collection', //可在select、find等查询后增加 toarray,返回数组
3、在\application\index\model下新建一个模型文件Test.php,内容如下:
<?php
namespace app\index\model;
use think\Model;
class Test extends Model {
// 设置当前模型对应的完整数据表名称
protected $table = 'think_test';
//设置
public $name; //姓名
public $email; //姓名
// 设置当前模型的数据库连接 需要的话
/*protected $connection = [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'thinkphp5',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => 'root',
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'think_',
// 数据库调试模式
'debug' => false,
];*/
//新增
public function saveData(){
$test=new Test();
$test->data([
'name' => $this->name,
'email' => $this->email
]);
$result=$test->save();
return $result;
}
//获取列表
public function getList(){
$test=new Test();
// 查询
//$list=$test->where('name', 'thinkphp')->limit(10)->order('id', 'desc')->select();
$list=$test->select()->toArray();
//dump($list);exit;
return $list;
}
}
4、控制器\application\index\controller\Index.php内容如下:
<?php
//命名空间
namespace app\index\controller;
use think\Controller;
//导入模型类
use app\index\model\Test;
//需要继承
class Index extends Controller{
public function index(){
$name='thinkphp3';
$email= 'thinkphp3@thinkphp.cn';
// 模板变量赋值
//$this->assign('name','ThinkPHP');
//写到数据库
$test = new Test(); //使用模型
$test->data([
'name' => $name,
'email' => $email
]);
$result=$test->save();
if($result===false){
echo '新增失败';exit;
}
//获取列表
$list=$test->where('id>15')->order('id asc')->limit(10)->select()->toArray();
//dump($list);exit;
//更新数据库
// save方法第二个参数为更新条件
$result=$test->where('id=16')->update(['name' => 'thinkphp168']);
if($result===false){
echo '更新失败';exit;
}
//删除 条件
$result=Test::where('id>10 and id<15')->delete();
if($result===false){
echo '删除失败';exit;
}
//统计 指定条件
$count=Test::where('id>15 and id<30')->count();
//获取单行数据
$info=$test->where('id=16')->find()->toArray();
//dump($info);exit;
//取单个字段值
$email=$test->where('id=16')->value('email');
//echo $email;exit;
//批量赋值
$this->assign([
'name' => $name,
'email' => $email,
'list'=>$list,
'count'=>$count
]);
// 模板输出
return $this->fetch('index');
}
}
<!DOCTYPE html>
<html lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
</head>
<body>
<{$name}><br/>
<{$email}><br/>
<{foreach from=$list item=i key=k}>
<p>ID:<{$i.id}> name:<{$i.name}> email:<{$i.email}></p>
<{/foreach}>
列表总数:<{$count}><br/>
</body>
</html>
以上是ThinkPHP5的基本数据操作,PS小小吐槽一下ThinkPHP官方文档....