⑴ thinkphp sql语句问题
$user=M('user');
$where['_string']
=
'
((check1=$id
and
state1=0)
OR
(check2=$id
and
state1=1
and
state2=0)
OR
(check3=$id
and
state1=1
and
state2=1
and
state3=0))';
$list=$user->join('apply
ON
user.id=apply.uid')->where($where)->select();
试看看,若两表没重复字段应该可以,不行再追问。
⑵ 在thinkphp3里面执行原生的sql语句分页
原生SQL查询有 query() 和 execute() 两个方法:
query():用于 SQL 查询操作,并返回符合查询条件的数据集
execute():更新和写入数据的 SQL 操作,返回影响的记录数
public function read(){ // 实例化一个空模型,没有对应任何数据表 $Dao = M(); //或者使用 $Dao = new Model(); $list = $Dao->query("select * from user where uid<5"); if($list){ $this->assign('list', $list ); $this->display(); } else { $this->error($Dao->getError()); }}
public function read(){ header("Content-Type:text/html; charset=utf-8"); // 实例化一个空模型,没有对应任何数据表 $Dao = M(); //或者使用 $Dao = new Model(); $num = $Dao->execute("update user set email = '[email protected]' where uid=3"); if($num){ echo '更新 ',$num,' 条记录。'; }else{ echo '无记录更新'; }}
⑶ 请教thinkphp3打印sql语句
thinkphp如何打印sql语句
thinkphp如何打印sql语句?比如 $member = M("member"); $map['id'] = 1; $result = $member->where($map)->delete();
SQL语句应该是delete * from table member where id = 1;
怎样输出这个sql判断?我记得有个函数,但忘了是哪个了
------解决方法--------------------
getLastSql
------解决方法--------------------
echo M("member")->getLastSql();
⑷ ThinkPHP里怎么直接执行一句SQL语句 - PHP框架开发
$waw
=
M();
$res
=
$waw->query($sql); 或
$res
=
$waw->execute($sql);
由于$sql中包含了表名,实例化模型时可以为空。
注:query()与execute()是有区别的,不能乱用,详见ThinkPHP光放手册驱动扩展部分。
褔递达
⑸ thinkphp3.2.3 执行原生sql语句(SET SQL_QUOTE_SHOW_CREATE = 1)时报错,是怎么回事
query 执行SQL查询操作
$Model = M()
$Model->query("select * from think_user where status=1");
如果数据非法或者查询错误则返回false
否则返回查询结果数据集(同select方法)
你用插入语句 返回的不是数组 所以就报错了吧
execute用于更新和写入数据的sql操作
$Model = M()
$Model->execute("update think_user set name='thinkPHP' where status=1");
如果数据非法或者查询错误则返回false
否则返回影响的记录数
⑹ thinkphp 里sql 语句如何解读
这个不是原生写法,这是tp固有的写法,里面对语句做了封装,就是查询fields表里条件是model为空或其他条件符合的值。明白了吧!
⑺ 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]
(7)thinkphp32sql语句扩展阅读:
sql的应用原则:
在关系数据库实现过程中,第一步是建立关系模式,定义基本表的结构,即该关系模式是哪些属性组成的,每一属性的数据类型及数据可能的长度、是否允许为空值以及其它完整性约束条件。
定义基本表:
CREATE TABLE<表名>(<列名1><数据类型>[列级完整性约束条件]
[,<列名2><数据类型>[列级完整性约束条件]]…
[,<-列名n><数据类型>[列级完整性约束条件]]
[,表列级完整性约束条件]);
说明:
1、<>中是SQL语句必须定义的部分,[]中是SQL语句可选择的部分,可以省略的。
2、CREATE TABLE表示是SQL的关键字,指示本SQL语句的功能。
3、<表名>是所要定义的基本表的名称,一个表可以由一个或若干个属性(列)组成,但至少有一个属性,不允许一个属性都没有的表,这样不是空表的含义。多个属性定义由圆括号指示其边界,通过逗号把各个属性定义分隔开,各个属性名称互不相同,可以采用任意顺序排列,一般按照实体或联系定义属性的顺序排列,关键字属性组在最前面,这样容易区分,也防止遗漏定义的属性。
⑻ ThinkPHP里怎么直接执行一句SQL语句
1、要在控制器里面实例化一个空模型,如M() D()
2、先写好sql语句,如:$sql = select * from users
3、调用空模型的query()方法 M()->query($sql)或者D()->query() 即可