💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
#核心操作 数据库查询构造器 (query builder) 提供方便、流畅的接口,用来建立及执行数据库查找语法。在你的应用程序里面,它可以被使用在大部分的数据库操作,而且它在所有支持的数据库系统上都可以执行。 HDPHP 框架的 CURD 的自由度超过你的想象,当开启 DEBUG 模式后,所有 SQL 语句问题均会在页面中显示,一目了然。 > 注意: HDPHP 查询构造器使用 PDO 参数绑定,以保护应用程序免于 SQL 注入,因此传入的参数不需额外转义特殊字符。 ###预准备操作 HDPHP支持使用预准备查询,可以完全避免SQL注入。 **修改操作** ``` Db::execute("update news set total=:total where id=:id",[':total'=>5,':id'=>1]); ``` **查询操作** 使用标识名 ``` Db::query("select * from site where siteid=:siteid AND name=:name", [':siteid'=>36,':name'=>'后盾']); ``` 使用占位符 ``` Db::query("select * from news where title like ?",['%后盾网%']) ``` ##常用操作 **查找** 下面是使用原生 SQL 语句进行查询,更灵活的方式请查看 查询构造器 部分 ``` Db::table('user')->where('id','>',1)->get(); ``` **新增** ``` Db::table('user')->insert(['username'=>'向军','qq'=>'2300071698']); //数组数据会过滤掉非法字段 ``` **替换** ``` Db::table('user')->replace(['id'=>1,'username'=>'向军','qq'=>'2300071698']); //如果字段中有主键或唯一索引,并且数据存在,replace操作将执行替换当前记录的操作 ``` **添加并获取自增主键** 如果数据表有自动递增的ID,可以使用 insertGetId 添加数据并返回该 ID ``` Db::table('user')-> insertGetId(['username'=>'向军','qq'=>'2300071698']); ``` **更新** ``` Db::table('user')->where("id",1)->update(['username'=>'后盾网']); //数组数据会过滤掉非法字段 ``` **删除** ``` Db::table('user')->where('id',1)->delete(); //删除指定的主键值 Db::table('user')->delete(1); Db::table('user')->delete([2,3,5]); ``` **自增一个字段值** 将total字段值加2 ``` Db::table("user")->where('id',1)->increment('total',2); ``` **自减一个字段值** ``` Db::table("user")->where('id',1)->decrement('total',2); 将total字段减少2 ``` **获取自增主键** ``` $db = Db::table( 'news' ); $db->insert( [ 'title' => '后盾网' ] ); echo $db->getInsertId(); ``` **获取受影响条数** ``` $db = Db::table( 'news' ); $db->update( [ 'title' => '后盾人' ] ); echo $db->getAffectedRow(); ```