十四、PHP访问MYSQL数据库
(一)、mysql库的分类
1、mysql库:PHP5.5.0起开始废弃,7.0.0就开始移除,操作系数简单;
2、mysqli库:安全性能比mysql要强,操作难度系数要高;
3、pdo库 :安全性能比mysql要强,操作难度系数要高;
(二)、PHP连接mysql数据库的一些函数
1、 mysql_connect打开一个到 MySQL 服务器的连接;
2、mysql_select_db 选择 MySQL 数据库;
3、mysql_query发送一条SQL语句;
4、mysql_fetch_assoc 从结果集中取得一行作为关联数组;
5、mysql_fetch_row 从结果集中取得一行作为数组,数字型;
6、mysql_fetch_array 从结果集中取得一行作为关联|数字数组;
7、mysql_fetch_object — 从结果集中取得一行作为对象;
8、mysql_free_result释放结果;
9、mysql_close — 关闭 MySQL 连接内存;
10、mysql_error 输出mysql操作错识;
错误处理原则:开发阶段可以报,上线【生产环境】不允午报错;
处理方式一: error_reporting() 设置错识报告级别 ;
处理方式二: @;
如何防止错误:
define("DENUG",false);
if(DENUG){
error_reporting(E_ALL);//报告所有错误
}else{
error_reporting(0);//不报告所有错误
}
(三)、连接数据库的步骤
第一步:mysql_connect(ip地址(localhost)、账号(root)、密码(root)):与mysql服务器建立连接;
第二步:mysql_select_db(数据库):选择你要连接的数据库;
第三步:mysql_query(set names utf8)告诉数据库服务器以utf8的编码输出;
第四步:mysql_query(mysql语句)发送一条mysql语句返回的结果集;
mysql语句:如果sql语句是select 成功返回结果是资源,失败为false;
如果sql语句是insert delete update 成功返回true,失败为false;
第五步: 从结果集提取数据
mysql_fetch_assoc()从结果集中取得一行作为关联数组;
mysql_fetch_row()从结果集中取得一行作为数值数组;
mysql_fetch_array()从结果集中取得一行作为(关联 | 数值)数组;
(四)如何做增删改及分页的思路
1、增加表格的内容
首先建立一个与数据库表格字段一样的表单
先判断empty($_GET/$_POST)是否有数据,然后通过$_GET/$_POST 任意一种方法获取表单所添加的数据;
最后连接数据库,把获取的数据添加到数据库里,利用数据库的insert 语句添加;
2、删除表格的内容
首先利用$_GET方法拿到表格每行的id
判断empty($_GET/$_POST【‘id’】) id是否拿到
最后连接数据库,利用数据库的delete语句删除;
3、修改表格的内容
首先建立一个与数据库表格字段一样的表单
首先利用$_GET方法拿到表格每行的id
判断empty($_GET/$_POST【‘id’】) id是否拿到
连接数据库,利用数据库的select语句进行查询,并提取出来
提取出来的数据传到新建的表单中,用value接收,这样表单中就会有数据库表格里的内容
判断empty($_GET/$_POST) 表单中是否有数据,然后连接数据库,利用$_GET/$_POST 任意一种方法获取表单中所修改的内容,修改利用数据库的update语句进行修改;
3、分页思路
求总记录数、显示条数 、页数
第一步、通过查询语句查询数据库的表格中所有的行数,返回的是结果集
第二步、利用函数提取查询的结果集,返回的是一个关联数组或数值数组,或者两者都有
第三步、把总行数赋给一个变量
第四步、定义所要求每页的条数
第五步、通过总行数和条数之商,并通过向上取整函数ceil()得出表格的总页数;
在页面中输出页码
可以利用for循环输出页码数
可以利用首页,上一页,下一页,尾页输出页码
根据页码拿每页的数据 select * from 表 limit (x-1)*显示条数,显示条数 x代表页码
$dangqian=empty($_GET['page'])?1:$_GET['page'];//当前页
$getkey=($dangqian-1)*$show;//
$getData=mysql_query("select * from student limit {$getkey},{$show}");//返回一个结果集
十五、cookie与session
(一)、HTTP协议是无状态协议:
1、 Cookie
概念:是由web服务器保存在客户机的小文本文件
特点:cookie是由服务器下达setcookie指令在客户端产生的小文本文件
以后的每次请求都会通过http请求头把cookie传给后面请求页面
作用:让http协议的记忆状态
使用:
Setcookie(名称,值,有效时间) 生成
$_COOKIE[名称] 取cookie
Setcookie(名称,值,过去的时间) 删除
应用: 购物车 免登录
2、Session
概念:是什么:是一个存储在服务端的小文本文件
作用:让http协义有记忆状态
使用:
第一步、Session_start() 开启session 判断有没有cookie过来,如果没用过来,生成两个文件 一个cookie 一个session 生成
$_SESSION[名称] = 值 存数据
第二步、Session_start()
echo $_SESSION[名称] 或 $data = $_SESSION[名称] 取数据
第三步、Session_start()
Unset( $_SESSION[名称] ) 删除session文件里某一个数据
$_SESSION = array(); 删除session文件里所有数据
Session_destroy() 删除session文件
应用:购物车 后台登录:维持后台登录状态;
Cookie与session区别,session与cookie联系,cookie与session作用:
1 、cookie 与session都是一种存储机制
2 、cookie数据存在客户端,session的数据存服务端
3 、联系:session需要用cookie存储随机id号
4 、作用:多个页面之间维持会话状态
待续....
以上就是个人整理出来的PHP基础,供大家参考和学习。
领取专属 10元无门槛券
私享最新 技术干货