基本配置文件:application/config.php
数据库配置文件:application/database.php
return [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'testdb', // 用户名 'username' => 'root', // 密码 'password' => '123456', // 端口 'hostport' => '', // 连接dsn 'dsn' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'hi_', // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 是否严格检查字段是否存在 'fields_strict' => true, // 数据集返回类型 'resultset_type' => 'array', // 自动写入时间戳字段 'auto_timestamp' => false, // 时间字段取出后的默认时间格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, ];
文件引用:
namespace app\index\controller; use think\Controller; use think\Db; use think\Request; use think\Cookie; use app\index\model\Member; //当前模块下的model文件夹内
数据库添加/修改/删除
$db=db('user'); //添加数据 $data =['name'=>'张三', 'ip'=>$request->ip(), 'time' =>date('Y-m-d H:i:s')]; $db->insert($data); //$userId =$db->insertGetId($data); //插入并直接返回ID,方法一 //$userId =$db->getLastInsID(); //插入后再获取ID,方法二 //修改数据 $data =['name'=>'李四','time'=>date('Y-m-d H:i:s')]; $db->where('id',$id)->update($data); //删除数据 $db->delete($id); // 主键删除 //$db->delete([1,2,3]); // 主键删除 //$db->where('id',1)->delete(); // 条件删除 //$db->where('id','<',10)->delete(); // 条件删除
数据库查询
$db=db('user'); //获取单条数据 $rs=$db->field('id,name')->where('id', 2)->find(); $username=$rs['name'] //循环读取 $list=$db->field('id,name')->where('id', 2)->limit(8)->order('id','desc')->select(); foreach($list as $rs){ $result.=$rs->id.'-'.$rs->name; } //分页输出 $map['j_status'] = 1; $query=array('query'=>array('sb'=>$sb,'ss'=>$ss),); //分页传递的参数 $list = $db->where($map)->order('id','desc')->paginate(10,false,$query); $page = $list->render(); foreach($list as $rs){ $result.=$rs->id.'-'.$rs->name; } //模板输出 {volist name="list" id="rs" } <li>{$rs.id}-{$rs.name}</li> {/volist} <div class="page">{$list->render()}</div>
解析模板输出
class Index extends Controller { public function index() { $OutData=array( 'id' => $id, 'name' => $name ); $this->assign($OutData); return $this->fetch(); //return $this->fetch('login/index'); //定位模板 // return $this->fetch('admin@user/add'); //跨模块模板 } }
模板里调用公共模板
{include file="index/head" /} {include file="index/footer" /} {include file="../application/index/view/index/head.html" /}
函数调用
//公共函数写在common.php文件里,直接调用即可 is_email($email); //判断邮箱格式是否正确 //模板里调用 {$email|is_email} //{:is_email($email)} //也可以这样输出 //IF语句模板里输出 {if condition="($name == 1) OR ($name > 100) "} value1 {elseif condition="$name eq 2"/} value2 {else /} value3 {/if}
自定义类调用,自定义类要写在extend里,如路径:extend\index\abc.php,代码:
namespace index; class Abc { public function xxx($str){ ................... return 'yes'; } } //调用 $f=new \index\Abc(); $rval=$f->xxx('yes');
获取数据
$id=input('id'); //其它 input('get.name'); input('post.name'); input('put.name'); input('request.id'); input('server.PHP_SELF'); input('session.user_id'); input('cookie.user_id'); //注意在富文本在线编辑时获取内容 $content=input('content','',NULL); //过滤 Request::instance()->filter('htmlspecialchars'); Request::instance()->filter(['strip_tags','htmlspecialchars']); Request::instance()->get('name','','htmlspecialchars'); // 获取get变量 并用htmlspecialchars函数过滤 Request::instance()->param('username','','strip_tags'); // 获取param变量 并用strip_tags函数过滤 Request::instance()->post('name','','org\Filter::safeHtml'); // 获取post变量 并用org\Filter类的safeHtml方法过滤 Request::instance()->param('username','','strip_tags,strtolower'); // 获取param变量 并依次调用strip_tags、strtolower函数过滤 Request::instance()->post('email','',FILTER_VALIDATE_EMAIL); input('get.id/d'); input('post.name/s'); input('post.ids/a'); Request::instance()->get('id/d');
上一篇:解决could not find driver错误TinkPHP5(tp5)
下一篇:Thinkphp5:[ error ] [8]A non well formed numeric value encountered报错解决方法
讨论数量:0