日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

tp连接mysql mysql_thinkphp学习简易教程(二) thinkphp连接读取MySQL数据库

發布時間:2023/12/31 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tp连接mysql mysql_thinkphp学习简易教程(二) thinkphp连接读取MySQL数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先, 在本地服務器中新建項目APP,依據第一講中的步驟配置好thinkphp,這里為了測試方便,不分前臺和后臺模塊,統一把模塊路徑設為'./APP/'。

1、新建數據庫myapp,以及數據庫表think_form;

2、在配置文件APP/Conf/config.php中寫入:

return array(

//'配置項'=>'配置值'

'DB_TYPE' ? => 'mysql', // 數據庫類型

'DB_HOST' ? => '127.0.0.1', // 服務器地址

'DB_NAME' ? => 'myapp', // 數據庫名

'DB_USER' ? => 'root', // 用戶名

'DB_PWD' ? ?=> '', // 密碼

'DB_PORT' ? => '3306', // 端口

'DB_PREFIX' => 'think_', // 數據庫表前綴

);

?>

其中端口為字符串需要加引號,之前把3306看成int數據類型,結果一直搞不定;

3、在控制器APP/Lib/IndexAction.class.php中寫入:

// 本類由系統自動生成,僅供測試用途

class IndexAction extends Action {

public function index(){

$m=new Model('Form');

$arr=$m->select();

var_dump($arr[0]['title']);

}

}

?>

注:上面的語句具體解釋為:$m=new Model(數據庫表后綴名);后綴名首字母大小不限。注意只能是數據庫表后綴名,不能是完整的數據庫表名,否則讀取數據失敗,顯示數據為null。也可以采用$m=M(數據庫表后綴名);或者$m=D(數據庫表后綴名);

再注:之前連接時在入口文件內沒有加入define('APP_DEBUG', true);結果數據庫始終讀取失敗,而加了之后忽然成功了,再次注釋掉也可以讀取。難道說這一道程序是必須的?搞不懂情況?反正thinkphp操作超蛋疼。

4、上面的操作基本可以讀取數據庫了,但對于MVC要把控制器C和視圖V聯系,還需要再加一道工序:

(1)在控制器APP/Lib/IndexAction.class.php中加入:

$this->assign('data',$arr[0]['title']);

$this->display();//此方法為在視圖V中輸出顯示數據的必要條件。

(2)在APP/Tpl目錄中新建Index目錄(由于控制器中的類名為IndexAction ,此處必須為Index,如果要改成其他目錄名,首先要把IndexAction類的Index改成其他字符串(首字母必須大寫),文件名改為:目標字符串(如Str)+Action.class.php,如果要建立此控制器的視圖,則要在Tpl目錄下創建目錄名為Str的目錄,再在目錄中創建文件),再在Index目錄下新建index.html,寫入HTML語句,加入{$data}變量(因為在控制器中通過assign方法為$data進行了定義和賦值,想分配變量可以使用assign方法)。

總之,thinkphp連接數據庫超蛋疼!!記得加入define('APP_DEBUG', true);防止麻煩出現。

附1:

url的4種訪問方式 ? ? ? ? ?//重點!

1.PATHINFO 模式 -- 重點!!!!!! http://域名/項目名/入口文件/模塊名/方法名/鍵1/值1/鍵2/值2

2.普通模式

http://域名/項目名/入口文件?m=模塊名&a=方法名&鍵1=值1&鍵2=值2

3.REWRITE模式

http://域名/項目名/模塊名/方法名/鍵1/值1/鍵2/值2

4.兼容模式

http://域名/項目名/入口文件?s=模塊名/方法名/鍵1/值1/鍵2/值2

http://127.0.0.1/APP/index.php/Index/index為第一種。

附2:

控制器數據庫操作CURD命令:

增 -C Create $m->add()

刪 -D Delete $m->delete()

改 -U Update $m->save()

查 -R Read ? $m->select()

附3:

模型遍歷數組方法:

控制器的語句:public function index(){

$m=new Model('Form');//$m=new Model(數據庫表后綴名);實例化模型

$arr=$m->select();

//var_dump($arr[0]['title']);

//$name='ken';

//$this->assign('data',$name);

$this->assign('data',$arr);

$this->display();

}

視圖V的語句:

{$vo.id}

{$vo.title}

標簽是模型遍歷數組的關鍵,屬性name為控制器中接收過來的后臺變量,id為前臺輸出的實例對象變量。

總結

以上是生活随笔為你收集整理的tp连接mysql mysql_thinkphp学习简易教程(二) thinkphp连接读取MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。