PHP增删改查总结,php实现数据库的增删改查总结

查询语句的语法:

select() * | 字段列表 from 表列表 where 条件  查询可以返回一个结果集

select * from mytable

select id,name from mytable

select * from mytable where id=3

select * from mytable where age<20

not非 and与 or或

select * form mytable where age<20 and gender=1

常见的数学函数

1、count函数 可以查询满足条件的记录数  无法计算null值,并且会忽略null值   分页中使用。

2、max获取最大值  min获取最小值   字符串的话比较ascii码值

3、avg获取平均值  它的参数一般是数值   对于字符串无法转换,返回0

order by  排序

语法: select * | 字段列表 from 表列表 where order by 排序字段列表 asc(升序) | desc(降序)

limit 获取指定范围的数据

limit后只有一个参数:相当于获取指定的前n条记录

selecte * from mytable limit 3

//注意:order by必须写在limit的前面

selecte * from mytable order by id desc limit 3

limit后两个参数:limit n(偏移量,从0开始),m(获取的记录数)  从偏移量n开始,取m条

以下两种写法均可。

select * from mytable limit 2,4

select * from mutable limit 4 offset 2

我们需要将不同的数据放在不同的表中,便于我们日后的管理及使用。

多表查询

使用select * where的方式    等号在where后面写是判断的意思

select * from student,class where student.cid = class.classid

select studentid,studentname,age,gender,classname from student,class where student.id = class.classid

以上两种书写方式已经被第三种书写方式给替代了  join on

select * from student JOIN class on student.cid = class.classid

left join  左侧表作为主表。可获取左表中的所有数据,如果建立关联的字段在右表中没有存在,则右表中相应字段的数据默认为空

select * from student left JOIN class on student.cid = class.classid

right join 右表作为主表, 获取右表中的所有数据,如果建立关联的字段在左表中没有存在,则左表中相应的字段的数据默认为空

select * from student right JOIN class on student.cid = class.classid

建立php与数据库之间的连接

1、在php中使用musqli_connect函数就可以实现php与服务器的链接,

函数的参数为主机,用户名,密码,要操作的数据库

并且此函数会自动的打开连接。

函数的返回值为布尔值,

(1)连接成功就会返回一个连接对象(资源)

(2)连接失败的话会返回false

下面是几种常见连接失败的情况

Unknown database "mybase1"   数据库找不到,注意名称是否正确

Access denied for user 'root'@'localhost'(using password:YES):密码错误或用户名错误

mysqli_connect()   一般是服务器相关的错误

所以需要参数来接收。

2、之后需要判断连接是否成功?

header("Content-Type:text/html;charset=utf-8);   //设置当前php的返回值的编码为utf-8

$conn = musqli_connect("localhost","root","root","mybase");

mysqli_set_charset($conn,"utf8");  //保证服务器返回值的编码与当前php编码一致,设置服务器的返回数据的编码。mysqli_set_chaset(连接对象,编码格式字符串);

函数die或exit   既可以打印输出结果,又可以阻止下面代码的继续执行。

3、连接成功之后,创建sql语句,执行相关的操作

(1)新增数据

在执行新增语句时,mysqli_query有返回值,成功为true;失败则为false

$sql="insert into mytable values(null,'张三',30,'男')";

$result = mysqli_query($conn,$sql);  //result就是来接收mysqli_query的返回值,接收之后需要进行判断的。

if($result){

echo '新增成功';

}else{

echo '新增失败';

echo mysqli_error($conn);   //mysqli_error(连接对象);它可以输出最近一条sql语句在执行时所产生的错误信息。

}

(2)修改操作

$sql = "update mytable set age = 20 where id = '3'";

$result = mysqli_query($conn,$sql);

if($result){

echo '修改成功';

}else{

echo '修改失败';

echo mysqli_error($conn);   //打印出失败的原因

}

(3)删除操作

$sql = "delete from mytable where id = '4'";

$result = mysqli_query($conn,$sql);

if($result){

echo '删除成功';

}else{

echo '删除失败';

echo mysqli_error($conn);

(4)查询操作

1、设置响应头header("Content-Type:text/html;charset:utf-8");

2、建立数据连接 $conn=mysqli_connect("localhost","root","root","mybase");

3、设置编码

mysqli_set_charset($conn,"utf8");

或者:mysqli_query($conn,"set naes utf-8");  比较常见

4、判断连接状态    if(!$conn){die("连接失败")};

5、创建查询语句   $sql = "select * from mytable";

6、执行查询语句、接收  $result = mysqli_query($conn,$sql);

注意:查询语句的返回结果并不是表中的数据,而只是一个针对表数据的引用。

如果查询失败,则返回false

如果成功,则有两种情况:有结果集无数据或有结果集也有数据

判断结果集中是否有数据 mysqli_num_rows(结果集)可以判断当前结果集中是否有数据行

提取数据中的函数

需要注意:以下函数只能读取一行数据,但是读取完这一行数据之后,会自动的将指针移动到下一行,如果没有读取到任何的数据,则返回null。

mysqli_fetch_array(查询语句返回的结果集) 返回只是一个数组,同时生成索引数组和关联数组两种形式

mysqli_fetch_array(结果集资源,返回的内容的形式)

返回的内容的形式包括 MYSQL_ASSOC(关联数组)   MYSQL_NUM (索引数组)  MYSQL_BOTH(两个都包含的数组)

mysqli_fetch_assoc(查询语句返回的结果集)  返回值是关联数组

mysqli_fetch_row(查询语句返回的结果集)   返回值是索引数组

if(!$result){

die("查询失败");

}else if(mysqli_num_rows($result)==0){

die("结果集为空");

}else{

while($arr=mysqli_fetch_array($result,MYSQL_ASSOC)){

$res[]=$arr;

}

print_r($res);

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值