很多站长朋友们都不太清楚sql原生语句php,今天小编就来给大家整理sql原生语句php,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 怎样在thinkphp里面执行原生的sql语句 2、 php框架中的方法与原生sql语句的区别,面试的时候被问到这个问题。 3、 THINKPHP 用sql原生语句update 不管用 4、 thinkphp3.2.3 执行原生sql语句(SET SQL_QUOTE_SHOW_CREATE = 1)时报错,是怎么回事? 怎样在thinkphp里面执行原生的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?=?'12345@xxx测试数据'?where?uid=3");
????if($num){
????????echo?'更新?',$num,'?条记录。';
????}else{
????????echo?'无记录更新';
????}
}
php框架中的方法与原生sql语句的区别,面试的时候被问到这个问题。php框架中的方法最终也是要被框架解析成sql语句来执行的,如果使用原生的sql效率会高一些,但是失去了一些灵活性和安全性(比如框架在解析的时候可能会对数据做安全性检查,唯一性检查等等,这就是使用框架的好处)
THINKPHP 用sql原生语句update 不管用$row=mysql_query("update survey set option1=".$pro['option1'].""); 修改为 $row=mysql_query("update survey set option1='".$pro['option1']."'"); option1这个变量如果是int类型的话,你第一句是可以的,如果是字符,这个是更新不进去的,需要在变量外面加入单引号('变量值'); 还有一点,这个更新操作,最好别判断$row,因为如果用户在修改的时候,想来想去,最终所有字段都未修改,你这个程序进去了,最终还是会判断的,但是你sql语句没有修改,还是原来的值sql默认是不会做操作的,也就是说没修改的情况下,$rows还是返回false,这样你这个就会提示文章修改失败!! 希望能对你有所帮助
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
否则返回影响的记录数
关于sql原生语句php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于sql原生语句php 原生sql比orm性能好的详细内容...