thinkphp5.1学习过程七——数据库操作

编程

<?php

namespace appindexcontroller;

use thinkDb;

/**

* Class Demo5

* @package appindexcontroller

* 查询构造器

* 准备工作:app_debug=>"true";app_trace="true";

* 系统学习数据据库的增删改查:CURD

*/

class Demo5

{

//1.单条查询

public function find()

{

/**

* Db类数据库操作的入口类

* 功能:静态调用thinkdbquery.php类中的查询方法实现基本操作

* table():选择数据表

* where():设置查询条件 表达式,数组

* 1.单个条件 使用表达式

* 2.对于多个条件使用数组

* find()返回符合条件的第一条记录,没有的话返回NULL

*/

$res=Db::table("blog")

//->field("id,name,content")

//->field(["id"=>"asdf","name"=>"qwer","content"=>"zxcv"])

->where("id","=",1)//如果是相等关太详细,=可省略

->find();

dump(is_null($res)?"没有找到":$res);

}

//2.多条查询

public function select()

{

//select()返回的是一个二维数组,没有数据返回是一个空数据

$res=Db::table("blog")

->field("id,name,title")

->where([

["user_id","=","0"],

["category_id",">=",0]

])

->select();

if(empty($res)){

return "没有满足条件的记录";

}else{

foreach($res as $row){

dump($row);

}

}

}

//单条插入

public function insert()

{

//insert()成功返回新增的数量,失败返回false

//准备一下要插入的数据

$data=[

"name"=>"js1",

"title"=>"js学习",

"content"=>"现在学习js框架",

"user_id"=>0,

"category_id"=>1,

"recommend"=>1,

"read_count"=>0,

"create_time"=>time(),

"update_time"=>time(),

"publish_time"=>time(),

];

//return Db::table("blog")->insert($data);

//只有数据库类型为MYSQL的时候,才可以传入true

//return Db::table("blog")->insert($data,true);

//这样做可以提高对数据的安全处理,insert中不支持true

//return Db::table("blog")->data($data)->insert();

//插入的同时返回新增主键ID,insertGetId()同时执行两步,第一步插入,第二步返回主键主id

return Db::table("blog")->insertGetId($data);

}

//4.添加多条

public function insertAll()

{

$data=[

["name"=>"js2","title"=>"js2学习","content"=>"现在学习js框架","user_id"=>0,

"category_id"=>1,"recommend"=>1,"read_count"=>0,"create_time"=>time(),

"update_time"=>time(),"publish_time"=>time(),],

["name"=>"js3","title"=>"js3学习","content"=>"现在学习js框架","user_id"=>0,

"category_id"=>1,"recommend"=>1,"read_count"=>0,"create_time"=>time(),

"update_time"=>time(),"publish_time"=>time(),],

["name"=>"js4","title"=>"js4学习","content"=>"现在学习js框架","user_id"=>0,

"category_id"=>1,"recommend"=>1,"read_count"=>0,"create_time"=>time(),

"update_time"=>time(),"publish_time"=>time(),],

];

// return Db::table("blog")->insertAll($data);

return Db::table("blog")->data($data)->insertAll();

}

//更新操作

public function update()

{

//update()必须要有更新条件

//return Db::table("blog")

//->where("id","=",13)

//->update(["name"=>"html"]);

//如果更新条件是主键的话,可以直接把主键写到更新数组中

return Db::table("blog")

->update(["name"=>"css","id"=>12]);

}

//删除操作

public function delete()

{

// return Db::table("blog")

//->delete(13);

return Db::table("blog")

->where("id",12)

->delete();

}

//原生查询

public function query()

{

$sql="SELECT "name","title" FROM blog WHERE id IN(1,2,3)";

dump(Db::query($sql));

}

//原生写操作:更新,删除,添加

public function execute()

{

// return Db::execute("UPDATE blog SET name="css" WHERE id=11");

// return Db::execute("INSERT blog SET name="asp"");

return Db::execute("DELETE FROM blog WHERE id=11");

}

}

以上是 thinkphp5.1学习过程七——数据库操作 的全部内容, 来源链接: utcz.com/z/510947.html

回到顶部