🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### Db::execute(sql语句) /** * 1、使用方法:Db::execute(sql语句); 来执行数据库操作 * 1.1 在sql语句中使用占位符来实现数据的预处理,排除故障 * 1.2 占位符可以是任意的字符串也可以用问号 */ Db::execute("update users set pd=:total where id=:id",[':total'=>"adbdef",':id'=>5]); Db::execute("update users set pd=? where id=?",["adbdef",6]); ### Db::query( sql语句) $db=Db::query("select * from users where id > ? and id < ? ",[2,5]); $db=Db::query("select * from users where name like ?",['%周%']) ; p这种方法与上面的方法是一样的。都是要输入完整的sql语句,来查询或操作。唯一的特点就是都使用了点位符来实现预处理。 ### Db::table('user')->mothed(); 这种方法有2个关键点: table('user') 指定表名 mothed() 要执行的方法,查询、修改、删除 多条件的查询语句。 $db=Db::table('users')->where('id','>',1)->where('name','like','%周%')->get(); 插入数据 $db=Db::table('users')->insert(['name'=>'李向华']); $db=Db::table('users')->where('name','=','李向华')->get(); 更新数据 $db=Db::table('users')->where("id",5)->update(['pd'=>'abcdef']); $db=Db::table('users')->where('id','=',5)->get(); 删除也一样 #### replace Db::table('users')->replace(['id'=>1,'name'=>'向军']); 这个replace替换方法:如果指定的主键id存在,则将此id中的指定字段值替换掉;如果此方法中没有传递id这个的值,则此方法会插入新的数据!这个有点特殊! Db::table('user')-> insertGetId(['username'=>'向军','qq'=>'2300071698']); 添加一条新记录的同时,返回此新增记录的id值! 小结: 1、数据操作有3种方式: Db::execute(sql) Db::query(sql) Db::table(tableName)->mothed() 2、三种方式中,前二种使用完整的sql语句来执行操作,是使用数据库默认的操作方法。其最大的特点在于,使用了预处理方法:即不直接把变量数据传到sql语句之中,而是用符号来先代替检查,没有错误再执行。 3、第三种方法是被框架封装过的操作方法,可以通过一系列链式的条件设定来执行特定的方法。这些链式加入的条件与指定执行的方法都可以看作是一系列的参数,执行时会来自动检测哪些是参数,哪些是方法名,所以这此条件的先后是没有顺序的! 4、第三种方法中,主方法也不外新增、修改、删除和查询;条件也是一样的,但设定条件的关键字还是要看框架的设定!多条件累加、限定得到预想的数据结果。