💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
除了原生查询外,5.0还提供了数据库查询构造器,可以更方便执行数据库操作,查询构造器基于PDO实现, 对不同的数据库驱动都是统一的语法。 注意: ThinkPHP5.0查询构造器使用PDO参数绑定,以保护应用程序免于SQL注入,因此传入的参数不需额外转义特殊字符。 同样是实现上面的功能,我们可以改成: //插入记录 Db::table('think\_data') ->insert(\['id' => 18, 'name' => 'thinkphp', 'status' => 1\]); //更新记录 Db::table('think\_data') ->where('id', 18) ->update(\['name' => "hello"\]); //查询数据 $list = Db::table('think\_data') ->where('id', 18) ->select(); //删除数据 Db::table('think\_data') ->where('id', 18) ->delete(); 由于我们在数据库配置文件中设置了数据表的前缀为 think\_ table name CURD ,因此, 方法可以改成 方法, 这样就不会因为数据表前缀的修改而改动 代码,例如: //插入记录 Db::name('data') ->insert(\['id' => 18, 'name' => 'thinkphp'\]); //更新记录 Db::name('data') ->where('id', 18) ->update(\['name' => "framework"\]); //查询数据 $list = Db::name('data') ->where('id', 18) ->select(); dump($list); //删除数据 Db::name('data') ->where('id', 18) ->delete(); 如果使用系统提供的助手函数 则可以进一步简化查询代码如下: db $db = db('data'); //插入记录 $db->insert(\['id' => 20, 'name' => 'thinkphp'\]); //更新记录 $db->where('id', 20)->update(\['name' => "framework"\]); //查询数据 $list = $db->where('id', 20)->select(); dump($list); //删除数据 $db->where('id', 20)->delete(); db助手函数默认会每次重新连接数据库,因此应当尽量避免多次调用。 关于更多的查询条件和查询语法,会在后面一章查询语言中详细讲述。