ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
>[danger] 框架数据模型是基于 PDO 驱动的,记得要开启PHP的PDO支持 基于数据模型的操作在使用【**数组传参**】时全部都是通过 参数绑定 来实现的 所以大家应尽量使用数组传参的方式,避免直接执行SQL语句带来的隐患 ## 实例化数据模型 **1. D( ) 函数** D('user') 函数直接实例化数据模型,参数 user 是将要操作的数据表名(省略前缀,前缀可在配置文件自定义) user 参数可省略,后续操作时可以使用 table('user') 函数来指定 $m = D('user'); $m = D()->table('user'); **2. M( ) 函数** M('user')函数 作用是实例化用户的自定义模型 user.class.php user 对应用户模型的**文件名**以及**类名**和**数据表名** 用户自定义模型的存放目录是:应用目录/model/ 或者是 根目录下的 common/model/ 优先使用 应用目录下的模型文件,不存在时会到common目录下查找 如果都不存在 将直接实例化数据模型,也就是等同于D( )函数 $m = M('user'); ## 切换数据表 $m = D('user'); ...数据操作; $m->table('cart')... //切换到 cart 表进行其它数据操作 ## 设置表别名 在指定表名之后紧跟着使用 ->alias('name') 来指定该数据表的别名: $m = D(); $m->table('user')->alias('a'); $m = D('user')->alias('u'); ## 获取错误信息 $m = D('user'); ...数据操作 $err = $m->getError(); ## 获取最后执行的SQL语句 及 所绑定的参数 $m = D('user'); ...数据操作 $sql = $m->getSql(); //最后执行的sql语句 $args = $m->getArgs(); //最后执行的sql语句所绑定的参数 ## 连贯操作 数据模型的操作可以使用 -> 操作符依次调用多个方法,例如: $m = D('user'); $field = ['id','name','age']; $where = ['id >'=>0]; $user = $m->field($field)->where($where)->limit(20)->select(); ## 直接执行SQL语句 **1. 查询数据** $m = D(); $sql = 'SELECT * FROM `zphp_user`'; $user = $m->queryOne($sql); //只取一条数据 $list = $m->queryAll($sql); //取出所有数据 **2. 写入数据** 如果是插入数据将返回插入数据的主键值,没有主键时返回 true 如果是更新数据将返回受影响的数据行数 $m = D(); $result = $m->submit($sql); ## 获取所有数据表名 $m = D(); $tables = $m->getTables(); ## 获取表的所有字段 $m = D('user'); $fields = $m->getFields(); ## 直接使用PDO对象 $db = \z\db::db(); //返回的 PDO 对象 $sql = 'SELECT * FROM `zphp_user`'; $sth = $db->query($sql); $list = $sth->fetchAll();