第12天|第12天 PHP操作MySQL(一)
学习目标
PHP操作MySQL的步骤
PHP连接MySQL服务器
选择当前数据库
执行各种SQL语句
从结果集获取一行数据
综合案例:学生信息管理
phpMyAdmin****的使用方法
1)导入、导出数据库文件
2)创建和操作数据库
Navicat的使用方法
1)导入、导出数据库文件
2)创建和操作数据库
需求: 统计学生信息
思路:创建表单,输入学生信息,保存起来,并显示
前提:PHP必须开启操作mysql的扩展 php_mysqli.dll的扩展
说明:低版本的PHP操作mysql的扩展是php_mysql.dll,高版本的PHP,已经开始废弃php_mysql.dll,高版本的使用php_mysqli.dll和php_pdo.dll.
如何查看PHP有没有开启此扩展?
现在php.ini中开启扩展
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/1c860343cd74403faa9fda490ec9e19a.jpg)
文章图片
image.png
去掉前面的 分号(; )
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/7069d1f79da948bd95199fd27323e48c.jpg)
文章图片
image.png
重启apache,然后在PHP脚本中使用phpinfo()进行查看,
或者使用php -m查看
phpinfo();
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/aa358eca89214663aa742cdc52873ae4.jpg)
文章图片
image.png
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/a5013d10a7724400a6815e893240e70f.jpg)
文章图片
image.png
PHP操作MySQL的步骤:
1、PHP连接数据库
2、选择数据库
3、设置字符集
4、发送SQL语句
5、执行SQL语句
6、返回结果
7、释放资源
PHP连接MySQL服务器 1、mysqli_connect() 描述:连接到 MySQL服务器
语法:mysqli mysqli_connect([host][,username][,password][,dbname][,port])
参数:
host:MySQL服务器。可以包含端口号,默认值为“localhost:3306”
username:用户名。默认值是服务器进程所有者的用户名;
password:密码。
dbname:数据库名称。
port:MySQL服务器的端口号,默认为3306。
返回值:如果连接成功,则返回MySQLi连接对象。如果失败,则返回FALSE。
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/dcf82a1942fe4021b75f817958c3b883.jpg)
文章图片
image.png 2、****mysqli_connect_error() 描述:返回上一个 MySQL 连接产生的文本错误信息
语法:string mysqli_connect_error ( void)
参数:没有参数。
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/00faadba47094eec912d878ff97258e5.jpg)
文章图片
image.png 3****、mysqli_close() 描述:关闭先前打开的数据库连接
语法:bool mysqli_close ( mysqli $link )
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/bb820b7ce7ba459bb4c55cb9bda23c84.jpg)
文章图片
image.png
函数: mysqli_error(连接资源) 错误信息
mysqli_errno(连接资源) 错误编号
选择当前数据库 描述:一个数据库服务器可能包含很多的数据库,通常需要针对某个具体的数据库进行编程
语法:
bool mysqli_select_db(mysqli $link, string $database)
返回值:如果成功返回TRUE,失败则返回FALSE。
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/0c499f60d931422d8fc6327e2ce1c1f3.jpg)
文章图片
image.png
设置客户端字符集 描述:设置默认字符编码
语法:bool mysqli_set_charset ( mysqli charset )
返回:成功时返回 TRUE, 或者在失败时返回 FALSE。
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/e248346628644ed781bf2c5029a99a43.jpg)
文章图片
image.png
执行各种SQL语句 mysqli_query() 描述:发送一条 MySQL 查询;
语法:
resource mysqli_query(mysqli $link , string $query )
参数:
$query
是查询字符串;$link
是创建的活动的数据库连接;说明:mysqli_query() 仅对 SELECT,SHOW 或 DESCRIBE 语句返回一个mysqli_result结果集对象,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysqli_query()在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。
注意:查询字符串不应以分号结束,和命令行模式下有区别。
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/b7900c50977d4e6cb39e2de335622474.jpg)
文章图片
image.png
从结果集获取一行数据 1、mysqli_fetch_row() ? 描述:从结果集中取得一行作为索引数组;
? 格式:array mysqli_fetch_row ( mysqli_result $result )
? 返回:返回根据所取得的行生成的数组,如果没有更多行则返回 FALSE。
? 说明:mysqli_fetch_row() 从指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
? 提示:依次调用mysqli_fetch_row()将返回结果集中的下一行,如果没有更多行则返回FALSE。
2、mysqli_fetch_assoc() ü 描述:从结果集中取得一行作为关联数组
ü 语法:array mysqli_fetch_assoc ( mysqli_result $result )
ü 返回值:从结果集取得的行生成的关联数组,如果没有更多行则返回 FALSE;
ü 注意:此函数返回的字段名大小写敏感。
3、mysqli_fetch_array() ü 描述:从结果集中取得一行作为关联数组,或数字数组,或二者兼有;
ü 语法:array mysqli_fetch_array ( mysqli_result result_type = MYSQLI_BOTH ] )
ü 参数:$result_type是一个常量,取值:MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引)
ü 返回:返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
ü 注意:本函数返回的字段名区分大小写。
4、mysqli_fetch_all() ü 描述:从结果集中取得所有行作为关联数组、枚举数组、或二者兼有
ü 语法:mixed mysqli_fetch_all ( mysqli_result resulttype = MYSQLI_NUM ] )
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/76a02a7fee4040018e60790ad2c6ee59.jpg)
文章图片
image.png
获取记录数 1、mysqli_num_rows() ü 描述:取得结果集中行的数目
ü 语法:int mysqli_num_rows ( mysqli_result $result )
ü 说明:mysqli_num_rows()返回结果集中行的数目。
ü 注意:此命令仅对 SELECT 语句有效。
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/5a0bc62ea9cd465e9c3081063b5f35b1.jpg)
文章图片
image.png
2、mysqli_affected_rows() ü 描述:取得前一次 MySQL 操作所影响的记录行数;
ü 语法:
int mysqli_affected_rows ( mysqli $link )
ü 说明:取得最近一次与 $link 关联的 INSERT、UPDATE 或 DELETE 查询所影响的记录行数。
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/0167818e9c8c4fafa15142c5c1436a29.jpg)
文章图片
image.png
特殊情况:
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/fb2dcd1a38fc4b70a28efc958a18a260.jpg)
文章图片
image.png
3、mysqli_insert_id() ü 描述:取得上一次插入操作的主键ID;
ü 语法:int mysqli_affected_rows ( mysqli $link )
ü 说明:主要针对insert操作
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/9e9d725df20a4050ac79c5e4ab4740bf.jpg)
文章图片
image.png 【第12天|第12天 PHP操作MySQL(一)】
综合案例:学生信息管理
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/3d5b84ff32e74014ae6beff3f896aabd.jpg)
文章图片
image.png
1、创建数据库和表
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/39e2634cc6e34681a03cf547e5187af7.jpg)
文章图片
image.png
2、制作表单 add.html
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/7046a2ecf3424454ad6ac0fcad790484.jpg)
文章图片
image.png
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/47b2c58c5a3f463e9c2f3d5df548b5fd.jpg)
文章图片
image.png
3、添加入库 add.php
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/d3241de50433496fb0cd431bc6b93b75.jpg)
文章图片
image.png
4、展示数据 index.php
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/08a3beedac034597bd92d40690bcd35f.jpg)
文章图片
image.png
5、删除 del.php
index.php
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/a0164d1f31da4f6e8dae80b6a4d9a9e9.jpg)
文章图片
image.png
del.php
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/eb5ff4fdd12f4aad87c33fc6ca14fccf.jpg)
文章图片
image.png 6、修改
index.php
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/3ef0189af1904da0a786f2e39c5fa83a.jpg)
文章图片
image.png
update.php
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/353c99d6679e43edbe05b0d1e1c3f8de.jpg)
文章图片
image.png
update.html
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/c441836318ba45f480771060d0172e06.jpg)
文章图片
image.png
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/ed3f2c74a7714e498ba535786d548eae.jpg)
文章图片
image.png
edit.php
![第12天|第12天 PHP操作MySQL(一)](https://img.it610.com/image/info10/cf630260bbf04273af95b6c55ed0b9ee.jpg)
文章图片
image.png
推荐阅读
- 第6.2章(设置属性)
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- 第三节|第三节 快乐和幸福(12)
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- android第三方框架(五)ButterKnife
- 开学第一天(下)
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 第326天
- 跌跌撞撞奔向你|跌跌撞撞奔向你 第四章(你补英语,我补物理)