原生SQL查詢有 query() 和 execute() 兩個方法:
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。
query():用于 SQL 查詢操作,并返回符合查詢條件的數(shù)據(jù)集
execute():更新和寫入數(shù)據(jù)的 SQL 操作,返回影響的記錄數(shù)
query()
query() 方法是用于 SQL 查詢操作,和select()方法一樣返回符合查詢條件的數(shù)據(jù)集。
例子:
public function read(){
// 實(shí)例化一個空模型,沒有對應(yīng)任何數(shù)據(jù)表
$Dao = M();
//或者使用 $Dao = new Model();
$list = $Dao-query("select * from user where uid5");
if($list){
$this-assign('list', $list );
$this-display();
} else {
$this-error($Dao-getError());
}
}
對于 query() 方法返回的數(shù)據(jù)集,跟 select() 一樣,可以在模板里直接循環(huán)輸出。
execute()
execute() 方法用于更新和寫入數(shù)據(jù)的 SQL 操作(注:非查詢操作,無返回?cái)?shù)據(jù)集),返回影響的記錄數(shù)。
例子:
public function read(){
header("Content-Type:text/html; charset=utf-8");
// 實(shí)例化一個空模型,沒有對應(yīng)任何數(shù)據(jù)表
$Dao = M();
//或者使用 $Dao = new Model();
$num = $Dao-execute("update user set email = '12345@xxx.com' where uid=3");
if($num){
echo '更新 ',$num,' 條記錄。';
}else{
echo '無記錄更新';
}
}
如果查詢比較復(fù)雜或一些特殊的數(shù)據(jù)操作不能通過 ThinkPHP 內(nèi)置的 ORM 和 ActiveRecord 模式實(shí)現(xiàn)時(shí),就可以通過直接使用原生 SQL 查詢來實(shí)現(xiàn)。
注意:以上都是 user 沒有表前綴的例子,在查詢語句中,查詢的表應(yīng)該寫實(shí)際的表名字(包括前綴)。
應(yīng)該是 500 錯誤,你檢查下你鏈接數(shù)據(jù)庫的代碼 拿出來單獨(dú)執(zhí)行下,應(yīng)該是里面有錯誤
我告訴你個簡單直接的方法 在PHP環(huán)境下放一個PHPmyadmin 連接數(shù)據(jù)庫~然后點(diǎn)擊相應(yīng)數(shù)據(jù)庫表~查詢出相關(guān)數(shù)據(jù)~下方有個導(dǎo)出查詢結(jié)果~然后選擇txt導(dǎo)出~OK搞定~
簡單直接方便快捷
如果你想用原生的方法導(dǎo)出的話 更方便了
直接sql查詢數(shù)據(jù)
然后拼接字符串
新建/打開文本
寫入字符串~
我想這個東西初學(xué)者都會我就不多寫代碼了
THINKPHP貌似沒有自己的方法創(chuàng)建數(shù)據(jù)表。
能想到的有:在thinkphp里執(zhí)行原生的創(chuàng)建表語句。
我用的代碼是:
?
//連接數(shù)據(jù)庫文件
$connect=mysql_connect("localhost","admin","admin") or die("鏈接數(shù)據(jù)庫失??!");
//連接數(shù)據(jù)庫(test)
mysql_select_db("testcg",$connect) or die (mysql_error());
$temp=file("test.csv");//連接EXCEL文件,格式為了.csv
for ($i=0;$i count($temp);$i++)
{
$string=explode(",",$temp[$i]);//通過循環(huán)得到EXCEL文件中每行記錄的值
//將EXCEL文件中每行記錄的值插入到數(shù)據(jù)庫中
$q="insert into ceshi (name,num,dom) values('$string[0]','$string[1]','$string[2]');";
mysql_query($q) or die (mysql_error());
if (!mysql_error());
{
echo " 成功導(dǎo)入數(shù)據(jù)!";
}
echo $string[4]."\n";
unset($string);
}
?
--------------------------------------------------------------------------------
phpexcel或者pear的一個組件 ,國內(nèi)有一個excelclass的插件
都是用來處理excel的,前2個功能都比較強(qiáng)大,對編碼的支持也都不錯,推薦使用pear的那個,名字好像叫spreadsheet reader
phpexcel比較費(fèi)資源,不過并不是所有的excel都能讀取
樓主可以到這里去看看 pear.php.net
--------------------------------------------------------------------------------
頂樓上的回答~~順便接個分!嘿嘿
--------------------------------------------------------------------------------
AdO直接上傳
注意有些字符mysql或ADO可能不支持
--------------------------------------------------------------------------------
首先確認(rèn)你的數(shù)據(jù)庫是什么編碼的,以utf-8為例,
你首先打開excel 文件,然后保存,選擇為另存為.csv文件。
然后用文本編輯器打開.csv文件,另存為utf-8的csv
然后你寫php 可以使用php 的getcsv 打開(這樣確保你有的字段中含有,而導(dǎo)致解析錯誤),然后把解析的結(jié)果導(dǎo)入到數(shù)據(jù)庫中。
然后完了。