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光放手册驱动扩展部分。
褔递达