1 2 | $Model = new Model() //实例化一个model对象没有对应任何数据表 $Model ->query( "select*fromthink_userwherestatus=1" ); |
如果刚学Thinkphp对框架不太了解可以用query($sql) 和 execute($sql) 两个方法可以实现任何的sql操作query用于查询操作,execute用于非查询操作。但是框架已经封装好了常用的方法,且用起来更方便。
下面是最常用的查询方法:
1.select()
1 2 3 4 5 6 7 8 9 10 11 12 | //将所有数据查出,失败返回false,无结果返回null $user =M( 'demo' ); $data = $user ->select(); dump( $data ); //加入条件 $user ->field( 'name,sex' )->where( 'id>2' )->order( 'age' )->limit(3)->select(); //查询主键值为30的信息 $user ->select( '30' ); //查询主键为21,23,27的值 $user ->select( '21,23,27' ); |
2.find()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //查询出一条数据 $user =M( 'demo' ); //失败返回false if ( $data = $user ->find()){
dump( $data ); } //加入where条件 $user =M( 'demo' ); $data = $user ->field( 'name,sex' )->where( 'id>2' )->find(); dump( $data ); //返回一维数组 $data ->find( '30' ); $manager ->where( "username='$username'andpassword='$password'" )->find(); |
3.getField()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //获取列数据中的第一条 $user =M( 'demo' ); $data = $user ->getField( 'name' ); //默认第一个 //第二个参数位true则获取整列数据 $user ->where( "id=3" )->getField( 'name' ,true); //限制显示条数 $nickname = $User ->where( 'status=1' )->getField( 'nickname' ,8); $nickname = $User ->where( 'status=1' )->limit(8)->getField( 'nickname' ,true); //返回二维数组,键名为第一个 $nickname = $User ->where( 'status=1' )->getField( 'id,nickname,sex' ); //使用连接符':'键名是id值,键值则是account:nickname连接组成的字符串 $result = $User ->where( 'status=1' )->getField( 'id,account,nickname' , ':' ); |
还有详细的查询方法详见 ThinkPHP3.2手册中的 "模型>查询语句"章节。