加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php增删查改数据库,PHP数据库的增删改查

发布时间:2023-01-05 05:01:50 所属栏目:PHP教程 来源:网络
导读: 我们对数据库内容的操作,按操作方式可以分为增删改查(CURD),按数据是否变化:分为读与写两种。读:即是查询(select),写:即是增加(insert),更新(update),删除(delete)。
如下图,我们创

我们对数据库内容的操作,按操作方式可以分为增删改查(CURD),按数据是否变化:分为读与写两种。读:即是查询(select),写:即是增加(insert),更新(update),删除(delete)。

如下图,我们创建了张原始数据表

e5bd4e2c58aad55ff1d4c21c03850204.png

接下来,我们要对这个数据库的内容进行增删改查的操作。

首先需要配置数据库参数

namespacepdo_edu;

//数据库连接配置参数

return[

// 1.数据库的类型

'type'=>$type??'mysql',

// 2.数据库的默认主机

'host'=>$host??'localhost',

// 3.默认数据库

'dbname'=>$dbname??'phpedu',

// 4.默认的字符编码集

'charset'=>$charset??'utf8',

// 5.默认的端口号

'port'=>$port??'3306',

// 6.默认的用户名

'username'=>$username??'root',

// 7.默认的用户密码

'password'=>$password??'root',

];

接着创建”connect.php”代码,这个是连接桥梁。

namespacepdo_edu;

useException;

usePDO;

//加载配置参数

$config=require'config/database.php';

//PDO连接数据库三要素,三个重要参数:

//数据源:DSN

//用户名:username

//用户密码:password

//DSN :数据库类型:host=数据库的主机地址;dbname=默认的数据库名称;chart=...;prot=...

$type=$config['type'];

$host=$config['host'];

$dbname=$config['dbname'];

$username=$config['username'];

$password=$config['password'];

//创建DSN

$dsn=sprintf('%s:host=%s;dbname=%s',$type,$host,$dbname);

try{

//连接数据库

$pdo=newPDO($dsn,$username,$password);

}catch(Exception$e){

die($e->getMessage());

}

一、数据库的查询

可以分为单条查询和多条查询。

1.单条查询代码举例:

namespacepdo_edu;

usePDO;

// 1.连接数据库

require'connect.php';

// 2.操作数据表

// $sql = 'SELECT 字段列表 FROM 数据表名称 WHERE查询条件'

$sql='SELECT `id`, `name` FROM `staffs` WHERE `age` >40';

//预处理对象:

$stmt=$pdo->prepare($sql);

//预处理对象¥stmt,就是SQL语句对象

PHP数据库_php 安装gd库_php gd库

//使用预处理对象调用 execute()执行这条sql语句

$stmt->execute();

//使用:debugDumpParams()调试/查看

// var_dump($stmt->debugDumpParams());

while($staff=$stmt->fetch(PDO::FETCH_ASSOC)){

printf('

%s

',print_r($staff,true));

}

// 3.关闭连接(以下两种方式可任选一种)

// $pdo = null;

unset($pdo);

查询到的结果输出:

088d98ca986dbb0e859ab8998d99234c.png

2.多条查询代码举例:

namespacepdo_edu;

usePDO;

// 1.连接数据库

require'connect.php';

// 2.操作数据表

// $sql = 'SELECT 字段列表 FROM 数据表名称 WHERE查询条件'

//匿名占位符:?

// $sql = 'SELECT * FROM `staffs` WHERE `age` > ?';

//命名占位符:给一个有意义的字符串,必须用冒号开始

$sql='SELECT * FROM `staffs` WHERE `age` > :age';

$stmt=$pdo->prepare($sql);

//对应匿名占位符使用的是索引数组

// $stmt->execute([40]);

//对应命名占位符使用的是关联数组

$stmt->execute([':age'=>60]);

$staffs=$stmt->fetchAll(PDO::FETCH_ASSOC);

//需要熟记:PDO::FETCH_ASSOC

// print_r($staffs);

foreach($staffsas$staff){

$date=date('Y年m月d日',$staff['hiredate']);

printf('id=%s: 姓名=%s ---职位=%s ---入职时间=%s

',$staff['id'],$staff['name'],$staff['position'],$date);

}

// 3.关闭连接

unset($pdo);

查询到的结果输出:

二、数据库的修改

代码举例:

namespacepdo_edu;

usePDO;

// 1.连接数据库

require'connect.php';

// 2.操作数据表

// $sql = "UPDATE 表名 SET 字段=新值 WHERE 更新条件";

// $sql = "UPDATE `staffs` SET `name`= ? WHERE `id`=? ";//修改名字

// $sql = "UPDATE `staffs` SET `age`= ? WHERE `id`=? ";//修改年龄

$sql="UPDATE `staffs` SET `sex`= ? WHERE `id`=? ";//修改性别

$stmt=$pdo->prepare($sql);

$stmt->execute(['1',9]);

//判断是否执行成功

// $stmt->rowCount():返回写操作产生的受影响的记录数量

if($stmt->rowCount()===1){

echo'更新成功';

}else{

echo'没有记录被更新';

print_r($stmt->errorInfo());

}

// 3.关闭连接

unset($pdo);

输出效果:

579be3bd7a3a8ae323c81609f7da019a.png

三、数据库更新

代码举例:

namespacepdo_edu;

usePDO;

// 1.连接数据库

require'connect.php';

// 2.操作数据表

// $sql = 'INSERT 表名 SET name=?,age=?,....';

$sql="INSERT `staffs` SET `name`= ? , `age`= ? , `sex`= ? ,`position`= ? , `mobile`= ? , `hiredate`= ?";

$stmt=$pdo->prepare($sql);

$data=['李明一',27,1,'农办主任','15637789652',1579244075];

$stmt->execute($data);

//判断是否执行成功

// $stmt->rowCount():返回写操作产生的受影响的记录数量

if($stmt->rowCount()===1){

echo'新增成功,还可以获取新增记录的主键是:'.$pdo->lastInsertId();

}else{

echo'新增失败';

print_r($stmt->errorInfo());

}

// 3.关闭连接

unset($pdo);

输出效果:

5d2ae3378ce41fc8c0e4e024deeaa1a9.png

三、数据库删除

代码举例:

namespacepdo_edu;

usePDO;

// 1.连接数据库

require'connect.php';

// 2.操作数据表

// $sql = "DELETE FROM 表名 WHERE 删除条件";

$sql="DELETE FROM `staffs` WHERE `id`= ?";

$stmt=$pdo->prepare($sql);

$stmt->execute([19]);

//判断是否执行成功

// $stmt->rowCount():返回写操作产生的受影响的记录数量

if($stmt->rowCount()===1){

echo'删除成功';

}else{

echo'删除失败';

print_r($stmt->errorInfo());

}

// 3.关闭连接

unset($pdo);

输出效果:

8a3dc1c57be709ab24ce32aa6dec2ded.png

四、总结

1.数据库的id一旦创建之后,只能一条一条往前增加,若是删除了中间的id,则跳过被删除的数字,继续往前增加。

2.对数据库的有用的操作,好像也只有查询、修改、增加、删除了。

3.需要熟记的常用语句需要达到默写级别。

4.注意:对数据库的操作需要先引入数据库。PDO连接数据库三要素,三个重要参数,数据源:DSN;用户名:username;用户密码:password。

5.在做数据库连接时需费些心思,后面对数据库的操作,一个模子下来,修改几个参数即可。

6.整个流程的操作,类似于我们在计算机上对文件夹里面的内容进行增删改查,例如PHP数据库,我们可以对文件夹里面的内容进行查找、复制、重命名、删除。

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!