⑴ 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文件或者直接在thinkphp文件夾下面的配置文件那裡填寫好資料庫的名字,地址賬號密碼等然後才可以用的。
然後在控制器那裡進行操作就行了。這里因為你還沒有建表
所以要執行
$model = M();
$sql = 'CREATE TABLE IF NOT EXISTS `think_data`(`id` int(8) unsigned NOT NULL AUTO_INCREMENT,`data` varchar(255) NOT NULL,PRIMARY KEY(`id`)) ENGINE=MyISAM DEFAULT CHARSET = utf8';
$model->execute($sql);
這樣表就建成了
然後同理
$sql = 'INSERT INTO `think_data`(`id`,`data`) VALUES(1,"thinkphp"),(2"PHP"),(3,"framework")';
$model->execute($sql);
就行了
大概就是這樣子吧
⑶ thinkphp資料庫操作
要先create再add,create可以根據表單自動創建資料庫數據,也可以對傳入的參數進行驗證和過濾(在model里用_validate指定規則)。add直接插入create之後的數據,或者把傳入的數組直接插入資料庫
⑷ MongoDB在ThinkPHP裡面怎麼進行資料庫操作啊
連接資料庫
$conn=new Mongo(「mongodb://sa:123@localhost」); #帶用戶名密碼
選擇資料庫和集合
$db=$conn->selectDB(「mydb」);
$collection = $db->selectCollection(『column』);
增刪改查
1.插入
$array=array(『column_name』=>』col』.rand(100,999),』column_exp』=>』xiaocai』);
$result=$collection->insert($array); #簡單插入
2. 修改更新
$where=array(『column_name』=>』col123′);
$newdata=array(『column_exp』=>』GGGGGGG』,'column_fid』=>444);
$result=$collection->update($where,array(『$set』=>$newdata));
3.刪除
$where=array(『column_name』=>』col685′);
$result=$collection->update($where,array(『$unset』=>』column_exp』));
4.查詢
$result =$collection->find();
⑸ thinkphp3.1.2在Model里建立資料庫連接表前綴
你可以在實例化模型的時候加入表前綴
$User=newUserModel('User','think_','connection');
或者
$User=M('UserModel:User','think_','connection');
⑹ MongoDB在ThinkPHP裡面怎麼進行資料庫操作
連接資料庫
$conn=new Mongo(「mongodb://sa:123@localhost」); #帶用戶名密碼
選擇資料庫和集合
$db=$conn->selectDB(「mydb」);
$collection = $db->selectCollection(『column』);
增刪改查這是我的建議,如果想要更加詳細的話,可以去後盾人學習相關的知識
⑺ 通過ThinkPHP文件建立資料庫數據表
if(!is_writable('config.php')){
emMsg('配置文件(config.php)不可寫。如果您使用的是Unix/Linux主機,請修改該文件的許可權為777。如果您使用的是Windows主機,請聯系管理員,將此文件設為可寫');
}
if(!is_writable(EMLOG_ROOT.'/content/cache')){
emMsg('緩存文件不可寫。如果您使用的是Unix/Linux主機,請修改緩存目錄(content/cache)下所有文件的許可權為777。如果您使用的是Windows主機,請聯系管理員,將該目錄下所有文件設為可寫');
}
$config="<?php "
."//mysqldatabaseaddress "
."define('DB_HOST','$db_host');"
." //mysqldatabaseuser "
."define('DB_USER','$db_user');"
." //databasepassword "
."define('DB_PASSWD','$db_pw');"
." //databasename "
."define('DB_NAME','$db_name');"
." //databaseprefix "
."define('DB_PREFIX','$db_prefix');"
." //authkey "
."define('AUTH_KEY','".getRandStr(32).md5($_SERVER['HTTP_USER_AGENT'])."');"
." //cookiename "
."define('AUTH_COOKIE_NAME','EM_AUTHCOOKIE_".getRandStr(32,false)."');"
." ";
$fp=@fopen('config.php','w');
$fw=@fwrite($fp,$config);
if(!$fw){
emMsg('配置文件(config.php)不可寫。如果您使用的是Unix/Linux主機,請修改該文件的許可權為777。如果您使用的是Windows主機,請聯系管理員,將此文件設為可寫');
}
fclose($fp);
//密碼加密存儲
$PHPASS=newPasswordHash(8,true);
$adminpw=$PHPASS->HashPassword($adminpw);
$dbcharset='utf8';
$type='MYISAM';
$table_charset_sql=$DB->getMysqlVersion()>'4.1'?'ENGINE='.$type.'DEFAULTCHARSET='.$dbcharset.';':'ENGINE='.$type.';';
if($DB->getMysqlVersion()>'4.1'){
$DB->query("ALTERDATABASE`{$db_name}`_general_ci;",true);
}
$widgets=Option::getWidgetTitle();
$sider_wg=Option::getDefWidget();
$widget_title=serialize($widgets);
$widgets=serialize($sider_wg);
define('BLOG_URL',getBlogUrl());
$sql="
DROPTABLEIFEXISTS{$db_prefix}blog;
CREATETABLE{$db_prefix}blog(
gidint(10)unsignedNOTNULLauto_increment,
titlevarchar(255)NOTNULLdefault'',
datebigint(20)NOTNULL,
contentlongtextNOTNULL,
excerptlongtextNOTNULL,
aliasVARCHAR(200)NOTNULLDEFAULT'',
authorint(10)NOTNULLdefault'1',
sortidint(10)NOTNULLdefault'-1',
typevarchar(20)NOTNULLdefault'blog',
viewsint(10)unsignedNOTNULLdefault'0',
comnumint(10)unsignedNOTNULLdefault'0',
attnumint(10)unsignedNOTNULLdefault'0',
topenum('n','y')NOTNULLdefault'n',
sortopenum('n','y')NOTNULLdefault'n',
hideenum('n','y')NOTNULLdefault'n',
checkedenum('n','y')NOTNULLdefault'y',
allow_remarkenum('n','y')NOTNULLdefault'y',
passwordvarchar(255)NOTNULLdefault'',
templatevarchar(255)NOTNULLdefault'',
PRIMARYKEY(gid),
KEYdate(date),
KEYauthor(author),
KEYsortid(sortid),
KEYtype(type),
KEYviews(views),
KEYcomnum(comnum),
KEYhide(hide)
)".$table_charset_sql."
INSERTINTO{$db_prefix}blog(gid,title,date,content,excerpt,author,views,comnum,attnum,top,sortop,hide,allow_remark,password)VALUES(1,'歡迎使用emlog','".time()."','恭喜您成功安裝了emlog,這是系統自動生成的演示文章。編輯或者刪除它,然後開始您的創作吧!','',1,0,0,0,'n','n','n','y','');
DROPTABLEIFEXISTS{$db_prefix}attachment;
CREATETABLE{$db_prefix}attachment(
aidint(10)unsignedNOTNULLauto_increment,
blogidint(10)unsignedNOTNULLdefault'0',
filenamevarchar(255)NOTNULLdefault'',
filesizeint(10)NOTNULLdefault'0',
filepathvarchar(255)NOTNULLdefault'',
addtimebigint(20)NOTNULLdefault'0',
widthint(10)NOTNULLdefault'0',
heightint(10)NOTNULLdefault'0',
mimetypevarchar(40)NOTNULLdefault'',
thumforint(10)NOTNULLdefault0,
PRIMARYKEY(aid),
KEYblogid(blogid)
)".$table_charset_sql."
DROPTABLEIFEXISTS{$db_prefix}comment;
CREATETABLE{$db_prefix}comment(
cidint(10)unsignedNOTNULLauto_increment,
gidint(10)unsignedNOTNULLdefault'0',
pidint(10)unsignedNOTNULLdefault'0',
datebigint(20)NOTNULL,
postervarchar(20)NOTNULLdefault'',
commenttextNOTNULL,
mailvarchar(60)NOTNULLdefault'',
urlvarchar(75)NOTNULLdefault'',
ipvarchar(128)NOTNULLdefault'',
hideenum('n','y')NOTNULLdefault'n',
PRIMARYKEY(cid),
KEYgid(gid),
KEYdate(date),
KEYhide(hide)
)".$table_charset_sql."
DROPTABLEIFEXISTS{$db_prefix}options;
CREATETABLE{$db_prefix}options(
option_idINT(11)UNSIGNEDNOTNULLauto_increment,
option_nameVARCHAR(255)NOTNULL,
option_valueLONGTEXTNOTNULL,
PRIMARYKEY(option_id),
KEYoption_name(option_name)
)".$table_charset_sql."
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('blogname','點滴記憶');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('bloginfo','使用emlog搭建的站點');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('site_title','');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('site_description','');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('site_key','emlog');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('log_title_style','0');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('blogurl','".BLOG_URL."');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('icp','');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('footer_info','');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('admin_perpage_num','15');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('rss_output_num','0');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('rss_output_fulltext','y');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('index_lognum','10');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('index_comnum','10');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('index_twnum','10');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('index_newtwnum','5');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('index_newlognum','5');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('index_randlognum','5');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('index_hotlognum','5');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('comment_subnum','20');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('nonce_templet','default');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('admin_style','default');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('tpl_sidenum','1');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('comment_code','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('comment_needchinese','y');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('comment_interval',60);
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('isgravatar','y');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('isthumbnail','y');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('att_maxsize','20480');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('att_type','rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc,xls,xlsx');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('att_imgmaxw','420');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('att_imgmaxh','460');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('comment_paging','y');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('comment_pnum','10');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('comment_order','newer');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('login_code','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('reply_code','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('iscomment','y');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('ischkcomment','y');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('ischkreply','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('isurlrewrite','0');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('isalias','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('isalias_html','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('isgzipenable','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('isxmlrpcenable','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('ismobile','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('isexcerpt','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('excerpt_subnum','300');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('istwitter','y');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('istreply','n');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('topimg','content/templates/default/images/top/default.jpg');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('custom_topimgs','a:0:{}');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('timezone','8');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('active_plugins','');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('widget_title','$widget_title');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('custom_widget','a:0:{}');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('widgets1','$widgets');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('widgets2','');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('widgets3','');
INSERTINTO{$db_prefix}options(option_name,option_value)VALUES('widgets4','');
⑻ 如何用ThinkPHP新建資料庫表
THINKPHP貌似沒有自己的方法創建數據表。
能想到的有:在thinkphp里執行原生的創建表語句。
⑼ thinkphp 資料庫怎麼設置
在項目文件夾裡面的Conf的config.php裡面去配置就可以了,這個是公共配置文件。參考:
return array(
//'配置項'=>'配置值'
'APP_GROUP_LIST' => 'Index,Admin', //獨立分組
'DEFAULT_GROUP' => 'Index',
'APP_GROUP_MODE' => 1,
'APP_GROUP_PATH' => 'rzxt',
'DB_HOST' => '127.0.0.1',
'DB_USER' => 'root',
'DB_PWD' => '123456',
'DB_NAME' => 'klrz',
'DB_PREFIX' => 'kl_',
//'TMPL_VAR_IDENTIFY' => 'array',
//'TMPL_FILE_DEPR' => '_',
'DEFAULT_TIMEZONE'=>'Asia/Shanghai'
);