1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網營銷解決方案
      thinkPHP5如何實現(xiàn)數(shù)據(jù)庫添加內容-創(chuàng)新互聯(lián)

      這篇文章將為大家詳細講解有關thinkPHP5如何實現(xiàn)數(shù)據(jù)庫添加內容,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

      成都網站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網頁設計、網站建設、微信開發(fā)、微信小程序、集團成都企業(yè)網站建設等服務項目。核心團隊均擁有互聯(lián)網行業(yè)多年經驗,服務眾多知名企業(yè)客戶;涵蓋的客戶類型包括:服務器托管等眾多領域,積累了大量豐富的經驗,同時也獲得了客戶的一致贊賞!

      具體如下:

      面對一個新框架安裝好了一般不知道要干啥。那就先做一個寫入功能先。

      先做好準備工作先,首先要連接上數(shù)據(jù)庫。

      配置文件在application下的database.php里

      return [
        // 數(shù)據(jù)庫類型
        'type'      => 'mysql',
        // 服務器地址
        'hostname'    => '127.0.0.1',
        // 數(shù)據(jù)庫名
        'database'    => 'shoptest',
        // 用戶名
        'username'    => 'root',
        // 密碼
        'password'    => '',
        // 端口
        'hostport'    => '3306',
        // 連接dsn
        'dsn'       => '',
        // 數(shù)據(jù)庫連接參數(shù)
        'params'     => [],
        // 數(shù)據(jù)庫編碼默認采用utf8
        'charset'     => 'utf8',
        // 數(shù)據(jù)庫表前綴
        'prefix'     => '',
        // 數(shù)據(jù)庫調試模式
        'debug'      => true,
        // 數(shù)據(jù)庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器)
        'deploy'     => 0,
        // 數(shù)據(jù)庫讀寫是否分離 主從式有效
        'rw_separate'   => false,
        // 讀寫分離后 主服務器數(shù)量
        'master_num'   => 1,
        // 指定從服務器序號
        'slave_no'    => '',
        // 是否嚴格檢查字段是否存在
        'fields_strict'  => true,
        // 數(shù)據(jù)集返回類型
        'resultset_type' => 'array',
        // 自動寫入時間戳字段
        'auto_timestamp' => false,
        // 時間字段取出后的默認時間格式
        'datetime_format' => 'Y-m-d H:i:s',
        // 是否需要進行SQL性能分析
        'sql_explain'   => false,
      ];

      設置好之后先放著,先建立一個控制器

      默認下載的集合中,application文件夾里有一個index的文件夾。

      里面是用來存放控制器,類和模板的文件夾,名字可以修改。

      如果用過3.2的就很好理解了,就是相當于原來的home文件。

      在這個文件夾里先創(chuàng)建三個文件夾

      thinkPHP5如何實現(xiàn)數(shù)據(jù)庫添加內容

      然后再controller文件夾里新建一個index.php的文件(其實默認就有一個)。

      在class類里寫入這樣的代碼

      public function indexs()
      {
          return '我打開控制器了';
      }

      在網址欄輸入 服務器名/index/index/indexs

      可以看見一行文字。

      加下來先引入模板。

      先添加use think\View;引入模板庫。

      $view = new View;
      return $view->fetch('模板名');

      那么模板放在哪里。controller文件夾有一個view文件夾

      如果你直接把模板文件拖進去的話會報錯。

      thinkPHP5如何實現(xiàn)數(shù)據(jù)庫添加內容

      看報錯路徑的后半部分。/application/index\view\index\adda.html

      application/index/view這個都能找到

      接下來又是一個文件夾的名字和文件名字。

      這個文件夾對應著的是控制器的名字,也就是說要建立一個對應的文件夾。再把模板拖進去即可調用。當然,一個完整的框架不會只有這一個方法。其他的細節(jié)以后在研究。

      表單提交的常用的兩個寫法,input('post.xxx')指的是獲取post值。

      //調用Db類
      use think\Db;
      $data = ['title' => input('post.title'), 'content' => input('post.title')];
      Db::table('blogmsg')->insert($data);
      //建立model的寫法
      $mod = new \app\index\model\Blogmsg;
      $mod->title = input('post.title');
      $mod->content = input('post.content');
      $mod->save();
      echo $mod->id;

      相對而言,個人比較喜歡這樣的寫法。使用Request來完成添加。(對以后使用laravel有好處)

      //引入Request。
      use think\Request;
      public function add(Request $req){
        //如果添加的內容需要處理,先單獨取出然后賦值進去($req->post('title')可以獲取其中的值)
        $a = rtrim($req->post('title'),' ');
        $req->post(['title'=>$a]);
        //準備添加
        $mod = new \app\index\model\Blogmsg;
        //allowField可以選擇只添加哪些字段。
        $mod->allowField(['title','content'])->save($req->post());
        //獲取返回的主鍵
        echo $mod->id;
      }

      說道添加數(shù)據(jù),那么肯定需要自動驗證了。

      這次的自動驗證可以單獨的寫一個文件。在index文件夾內創(chuàng)建一個Validate文件夾,內部創(chuàng)建一個和Model文件夾內相同名字的php文件。方便使用。

      樣本

      namespace app\index\validate;
      use think\Validate;
      class Blogmsg extends Validate
      {
        //寫規(guī)則
        protected $rule = [
          'title' => 'require|max:25',
          'content' => 'require|max:255',
        ];
        //寫報錯返回信息
        protected $message = [
          'title.require' => '必須填寫',
          'title.max' => '不能超過25個字符',
          'content.require' => '必須填寫',
          'content.max' => '不能超過255個字符',
        ];
        protected $scene = [
          'add' => ['title','content'],
          'edit' => ['title','content'],
        ];
      }

      然后控制器部分的改動

      $a = $mod->validate(true)->allowField(['title','content'])->save($req->post());
      if(false === $a){
        // 驗證失敗 輸出錯誤信息
        dump($mod->getError());
        die;
      }

      最后做一個防止重復提交以及遠程提交的表單令牌功能:在模板中的form表單里加入{:token()},然后再驗證的規(guī)則里做一下修改,驗證規(guī)則加一個token。如下:

      'title' => 'require|max:25|token',

      至此,文章添加部分告一段落。

      關于“thinkPHP5如何實現(xiàn)數(shù)據(jù)庫添加內容”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


      網站標題:thinkPHP5如何實現(xiàn)數(shù)據(jù)庫添加內容-創(chuàng)新互聯(lián)
      網址分享:http://www.ef60e0e.cn/article/dggghh.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        乐业县| 台前县| 屯留县| 麻城市| 隆化县| 岫岩| 彭泽县| 石狮市| 麦盖提县| 延吉市| 博爱县| 利川市| 延川县| 仁化县| 文山县| 汝州市| 邢台县| 万年县| 文昌市| 蒙阴县| 泽库县| 淅川县| 罗田县| 莲花县| 淮阳县| 珠海市| 天峻县| 河北区| 林州市| 南郑县| 来凤县| 平武县| 洞头县| 乳山市| 定西市| 东平县| 柳河县| 右玉县| 泰和县| 阳谷县| 舞钢市|