<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="ThinkPHP3.1新特性之查询条件预处理简介" id="card1">
<p> 游客</p><p>
标题:ThinkPHP3.1新特性之查询条件预处理简介<br/>
正文:<br/>
以往的ThinkPHP3.0版本对数组方式的查询条件会进行安全过滤（这是由于3.0强制使用了字段类型检测，所以数组方式的查询条件会强制转换为字段的设定类型），但是3.0版本并不支持字符串条件的安全过滤。而ThinkPHP3.1版本则增加了对条件字符串进行预处理的支持，让ORM的安全性更加得以保证。一、使用where方法Model类的where方法支持字符串条件预处理，使用方式：$Model-&amp;gt;where(&quot;id=%d and username='%s' and<br/>xx='%f'&quot;,array($id,$username,$xx))-&amp;gt;select();或者直接使用：$Model-&amp;gt;where(&quot;id=%d and username='%s' and xx='%f'&quot;,$id,$username,$xx)-&amp;gt;select();如果$id变量来自用户提交或者URL地址的话，如果传入的是非数字类型，则会强制格式化为数字格式后进行查询操作。字符串预处理格式类型支持指定数字、字符串等，具体可以参考vsprintf方法的参数说明。二、使用query和execute方法除了where条件外，对原生SQL查询方式也支持预处理机制，例如：$Model-&amp;gt;query(&quot;SELECT * FROM think_user WHERE id=%d and username='%s' and xx='%f'&quot;,array($id,$username,$xx));模型的execute方法也和query方法一样支持预处理机制。<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1440&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1440&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1440&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1440">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1440">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>