thinkphp 內建了抽象資料庫訪問層,把不同的資料庫操作封裝起來。我們只需要使用
公共的 db 類進行操作,無須針對不同的資料庫寫不同的**和底層實現。db 類會自動呼叫
相應的資料庫驅動來處理。
一、全域性配置定義
在common/conf/config.php中
'db_type'=>'mysql', //資料庫型別
'db_host'=>'localhost', //伺服器位址
'db_name'=>'thinkphp', //資料庫名
'db_user'=>'root', //使用者名稱
'db_pwd'=>'123456', //密碼
'db_port'=>3306, //埠
'db_prefix'=>'think_', //資料庫表字首,因為建立的資料表名稱為think_user
在 home/controller/usercontroller.calss.php 中
namespace home\controller;usethink\controller;usethink\model;//載入資料庫模組class usercontroller extendscontroller }
二、pdo專用定義
在common/conf/config.php中
'db_type'=>'pdo',
'db_user'=>'root',
'db_pwd'=>'123456',
'db_prefix'=>'think_',
'db_dsn'=>'mysql:host=localhost;dbname=thinkphp;charset=utf8',
在 home/controller/usercontroller.calss.php 不變
三、直接在 home/controller/usercontroller.calss.php 寫,不需要在 common/conf/config.php 插入任何**
namespace home\controller;usethink\controller;use think\model;class usercontroller extendscontroller //type 定義每個欄位的型別,可以永遠字段驗證
class usermodel s extendsmodel {protected $fields = array('id', 'user', '_pk'=>'id',
'type'=> array('id'=>'smallint','user'=>'varchar'));
舉例:在 index.php 中設定:
//關閉字段快取
'db_fields_cache'=> false //開啟了除錯模式,自動關閉
然後在 home/controller/usercontroller.class.php 中
namespace home\controller;usethink\controller;usethink\model;class usercontroller extendscontroller {public functionmodel() {$user = new model('user');var_dump($user->getdbfields());
這時在瀏覽器中重新整理後就會顯示資料表的字段:
這時在資料表中新增一段資料:
但重新整理後瀏覽器中的資料表的字段還是不變,
在 index.php 中開啟除錯後 'db_fields_cache'=> ture; 這時再重新整理
則新增的新的字段也會顯示
c語言呼叫Mysql資料庫
一 mysql資料庫的c語言常用介面api 1 初始化mysql控制代碼 mysql pconn pconn mysql init null 2 連線資料庫 if mysql real connect pconn,localhost root root test 0,null,0 3 運算元據庫 第...
FLASH呼叫資料庫
做乙個連線sql的asp檔案 test.asp set conn server.createobject adodb.connection sqlstr provider sqloledb data source arbiter uid arbiter pwd 123456 database img...
access資料庫呼叫
1 工程環境配置 vs qt 點選專案,右鍵,選擇專案設定,選擇sql 2 獲取自己資料庫的驅動版本有哪些,如下 所示 qstringlist drivers qsqldatabase drivers for int i 0 i drivers.size i qdebug 執行結果如下 access...