⑴ thinkphp3.2.3 如何關閉資料庫模型檢測就是數據表不存在只實例調用模型文件
$db = M('table'); //表名
$where = array( //條件數組
'id' => 2,
);
$rs = $db->where($where)->select(); //查詢, 用find()只能查出一條數據,select()多條
$this->assign('datalist',$rs); //模板賦值
$this->display();//輸出到模板
⑵ thinkphp mysql查詢單次連接超出一定時間自動斷開,mysql停止查詢
thinkphp mysql查詢單次連接超出一定時間自動斷開,mysql停止查詢
字面意思是資料庫連接超時(30s),假如你的代買沒有問題而是你的文件過大的話,那麼可以在php.ini中調大這個連接時間上限。但是我覺得可能是你的資料庫配置的問題,方便貼出config.php中資料庫連接的配置代碼么?
⑶ thinkphp如何從模型連接的資料庫切換回原來配置的資料庫連接
翻下TP手冊,其實不需要提問的,既然我回答了,就給我積分吧。
對於默認的資料庫連接,內部的資料庫編號是0,因此為了避免沖突,請不要再次定義資料庫編號為0的資料庫配置
$this->db(0);
⑷ thinkphp對資料庫操作有哪些內置函數
8.4.4 Model類
getModelName() 獲取當前Model的名稱
getTableName() 獲取當前Model的數據表名稱
switchModel(type,vars=array()) 動態切換模型
table() 設置當前操作的數據表
field() 設置要查詢的數據欄位
where() 設置查詢或者操作條件
data(data) 設置數據對象
order(order) 設置排序
limit(limit) 查詢限制
page(page) 查詢分頁
join(join) 進行JOIN查詢
having(having) 進行having查詢
group(group) 進行group查詢
lock(lock) 查詢鎖定
distinct(distinct) 唯一性查詢
count(field) 記錄統計
sum(field) 總數查詢
min(field) 最小值查詢
max(field) 最大值查詢
avg(field) 平均值查詢
_initialize() 模型初始化方法
_facade(data) 對保存到資料庫的數據進行處理
_before_write(&data) 寫入數據前的回調方法 包括新增和更新
add(data='',options=array()) 新增數據
_before_insert(&data,options) 寫入數據前的回調方法
_after_insert(data,options) 寫入數據後的回調方法
selectAdd(fields='',table='',options=array()) 通過Select方式添加記錄
save(data='',options=array()) 更新數據到資料庫
_before_update(&data,options) 更新數據前的回調方法
_after_update(data,options) 更新成功後的回調方法
delete(options=array()) 刪除數據
_after_delete(data,options) 刪除成功後的回調方法
select(options=array()) 查詢數據集
_after_select(&resultSet,options) 查詢成功後的回調方法
findAll(options=array()) select方法的別名
_options_filter(&options) 表達式過濾回調方法
find(options=array()) 查詢數據
_after_find(&result,options) 查詢成功的回調方法
setField(field,value,condition='') 設置記錄的某個欄位值
setInc(field,condition='',step=1) 欄位值增長
setDec(field,condition='',step=1) 欄位值減少
getField(field,condition='',sepa=' ') 獲取某個欄位值
create(data='',type='') 創建數據對象
autoCheckToken(data) 表單令牌驗證
query(sql) 執行原生SQL查詢
execute(sql='') 執行原生SQL操作
startTrans() 啟動事務
commit() 提交事務
rollback() 事務回滾
getError() 獲取模型的錯誤信息
getDbError() 獲取資料庫的錯誤信息
getLastInsID() 獲取最後執行的SQL語句
getPk() 獲取主鍵名稱
getDbFields() 獲取數據表的欄位信息
regex(value,rule) 使用正則驗證數據
setProperty(name,value) 設置模型的屬性值
2.1版新增方法:
db(linkNum,config='') 切換當前資料庫連接
高級模型類AdvModel
topN(count,options=array()) 查詢滿足條件的前N個記錄
getN(position=0,options=array()) 查詢符合條件的第N條記錄
0 表示第一條記錄 -1 表示最後一條記錄
first(options=array()) 獲取滿足條件的第一條記錄
last(options=array()) 獲取滿足條件的最後一條記錄
returnResult(data,type='') 返回指定的數據類型
setLazyInc(field,condition='',step=1,lazyTime=0) 欄位值延遲增長
setLazyDec(field,condition='',step=1,lazyTime=0) 欄位值延遲減少
addConnect(config,linkNum=NULL) 增加資料庫連接
delConnect(linkNum) 刪除資料庫連接
closeConnect(linkNum) 關閉資料庫連接
switchConnect(linkNum,name='') 切換資料庫連接
patchQuery(sql=array()) 批處理執行SQL語句
getPartitionTableName(data=array()) 得到分表的的數據表名
⑸ thinkphp怎麼連接資料庫
thinkphp連接資料庫的方法:
ThinkPHP內置了抽象資料庫訪問層,把不同的資料庫操作封裝起來,只需要使用公共的Db類進行操作,而無需針對不同的資料庫寫不同的代碼和底層實現,Db類會自動調用相應的資料庫驅動來處理。目前的資料庫包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括對PDO的支持,如果應用需要使用資料庫,必須配置資料庫連接信息,資料庫的配置文件有多種定義方式。
常用的配置方式是在項目配置文件中添加下面的參數:
<?php
//項目配置文件
return array(
//資料庫配置信息
'DB_TYPE' => 'mysql', // 資料庫類型
'DB_HOST' => 'localhost', // 伺服器地址
'DB_NAME' => 'thinkphp', // 資料庫名
'DB_USER' => 'root', // 用戶名
'DB_PWD' => '', // 密碼
'DB_PORT' => 3306, // 埠
'DB_PREFIX' => 'think_', // 資料庫表前綴
//其他項目配置參數
// ...
);
需要注意的是,ThinkPHP的資料庫連接的惰性的,所以並不是在實例化的時候就連接資料庫,而是在有實際的數據操作的時候才會去連接資料庫(額外的情況是,在系統第一次實例化模型的時候,會自動連接資料庫獲取相關模型類對應的數據表的欄位信息)。
⑹ 在thinkphp怎樣不連接資料庫連接
config.php
<?php
return array(
'APP_DEBUG' => true, // 開啟調試模式
'DB_TYPE'=> 'mysql', // 資料庫類型
'DB_HOST'=> 'localhost', // 資料庫朋務器地址
'DB_NAME'=>'test', // 資料庫名稱
'DB_USER'=>'root', // 資料庫用戶名
'DB_PWD'=>'', // 資料庫密碼
'DB_PORT'=>'3306', // 資料庫埠
'DB_PREFIX'=>'think_', // 數據表前綴
);
?>
UserAction.class.php
class UserAction extends Action {
public function registerdo(){
$User = M("user");
if($User->create()) {//如果在這里沒報錯,估計沒什麼問題啊
if( $User-> add()) { //這里是把數據寫入資料庫,要不這樣,你先把 cretate()屏蔽掉,看看能不能寫入
$this -> success();
}
else
{ $this -> error();
}
else
{ $this -> error();
}
}
}
registerdo.html
<html>
<form action="__URL__/registerdo" method="post">
userid<input type="text"/ name="userid">
password<input type="text"/ name="password">
<input type="submit"/>
</form>
</html>
⑺ thinkphp5.1連接資料庫
在應用配置目錄或者模塊配置目錄(不清楚配置目錄位置的話參考配置章節)下面的database.php中(後面統稱為資料庫配置文件)配置下面的資料庫參數:
return [
// 資料庫類型
'type' => 'mysql',
// 伺服器地址
'hostname' => '127.0.0.1',
// 資料庫名
'database' => 'thinkphp',
// 資料庫用戶名
'username' => 'root',
// 資料庫密碼
'password' => '',
// 資料庫連接埠
'hostport' => '',
// 資料庫連接參數
'params' => [],
// 資料庫編碼默認採用utf8
'charset' => 'utf8',
// 資料庫表前綴
'prefix' => 'think_',
];
系統默認支持的資料庫type包括:
type 資料庫
mysql MySQL
sqlite SqLite
pgsql PgSQL
sqlsrv SqlServer
type參數支持命名空間完整定義,不帶命名空間定義的話,默認採用\think\db\connector作為命名空間,如果使用應用自己擴展的資料庫驅動,可以配置為:
// 資料庫類型
'type' => '\org\db\Mysql',
表示資料庫的連接器採用 \org\db\Mysql類作為資料庫連接驅動,而不是默認的\think\db\connector\Mysql。