thinkphpsql語句查詢
1. 關於thinkphp中 foreach 裡面執行sql語句
原生sql查詢有
query()
和
execute()
兩個方法:
query():用於
sql
查詢操作,並返回符合查詢條件的數據集
execute():更新和寫入數據的
sql
操作,返回影響的記錄數
public function read(){
// 實例化一個空模型,沒有對應任何數據表
$ = m();
//或者使用 $ = new model();
$list = $->query("select * from user where uid<5");
if($list){
$this->assign('list', $list );
$this->display();
} else {
$this->error($->geterror());
}
}public function read(){
header("content-type:text/html; charset=utf-8");
// 實例化一個空模型,沒有對應任何數據表
$ = m();
//或者使用 $ = new model();
$num = $->execute("update user set email = '[email protected]' where uid=3");
if($num){
echo '更新 ',$num,' 條記錄。';
}else{
echo '無記錄更新';
}
}
2. thinkphp怎麼列印sql語句
thinkphp的sql語句的應用:
[SQL]SHOWCOLUMNSFROM`think_action`[RunTime:0.001339s]
[EXPLAIN:array('id'=>'1','select_type'=>'SIMPLE','table'=>'think_action','partitions'
=>NULL,'type'=>'ALL','possible_keys'=>NULL,'key'=>NULL,'key_len'=>NULL,'ref'
=>NULL,'rows'=>'82','filtered'=>'100.00','extra'=>NULL,)]
[SQL]SELECT*FROM`think_action`LIMIT1[RunTime:0.000539s]
(2)thinkphpsql語句查詢擴展閱讀:
sql的應用原則:
在關系資料庫實現過程中,第一步是建立關系模式,定義基本表的結構,即該關系模式是哪些屬性組成的,每一屬性的數據類型及數據可能的長度、是否允許為空值以及其它完整性約束條件。
定義基本表:
CREATE TABLE<表名>(<列名1><數據類型>[列級完整性約束條件]
[,<列名2><數據類型>[列級完整性約束條件]]…
[,<-列名n><數據類型>[列級完整性約束條件]]
[,表列級完整性約束條件]);
說明:
1、<>中是SQL語句必須定義的部分,[]中是SQL語句可選擇的部分,可以省略的。
2、CREATE TABLE表示是SQL的關鍵字,指示本SQL語句的功能。
3、<表名>是所要定義的基本表的名稱,一個表可以由一個或若干個屬性(列)組成,但至少有一個屬性,不允許一個屬性都沒有的表,這樣不是空表的含義。多個屬性定義由圓括弧指示其邊界,通過逗號把各個屬性定義分隔開,各個屬性名稱互不相同,可以採用任意順序排列,一般按照實體或聯系定義屬性的順序排列,關鍵字屬性組在最前面,這樣容易區分,也防止遺漏定義的屬性。
3. thinkphp 怎樣獲取每個id下的一條記錄
根據題目意思是已知了其中的id的值了,這個主要用sql語句控制即可。
sql:select * from 表名 where id > 已知id limit 1;
如果使用thinkphp專屬的查詢方式則是:
sql:M()->where("id > ".已知id)->limit(1)->select();
如果是很多的話就循環吧。
4. ThinkPHP里怎麼直接執行一句SQL語句 - PHP框架開發
$waw = M();
$res = $waw->query($sql); 或 $res = $waw->execute($sql);
由於$sql中包含了表名,實例化模型時可以為空。
註:query()與execute()是有區別的,不能亂用,詳見ThinkPHP光放手冊驅動擴展部分。
褔遞達