第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中开启扩展
文章图片
image.png
去掉前面的 分号(; )
文章图片
image.png
重启apache,然后在PHP脚本中使用phpinfo()进行查看,
或者使用php -m查看
phpinfo();
文章图片
image.png
文章图片
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。
文章图片
image.png 2、****mysqli_connect_error() 描述:返回上一个 MySQL 连接产生的文本错误信息
语法:string mysqli_connect_error ( void)
参数:没有参数。
文章图片
image.png 3****、mysqli_close() 描述:关闭先前打开的数据库连接
语法:bool mysqli_close ( mysqli $link )
文章图片
image.png
函数: mysqli_error(连接资源) 错误信息
mysqli_errno(连接资源) 错误编号
选择当前数据库 描述:一个数据库服务器可能包含很多的数据库,通常需要针对某个具体的数据库进行编程
语法:
bool mysqli_select_db(mysqli $link, string $database)
返回值:如果成功返回TRUE,失败则返回FALSE。
文章图片
image.png
设置客户端字符集 描述:设置默认字符编码
语法:bool mysqli_set_charset ( mysqli charset )
返回:成功时返回 TRUE, 或者在失败时返回 FALSE。
文章图片
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 的返回值意味着查询是合法的并能够被服务器执行。
注意:查询字符串不应以分号结束,和命令行模式下有区别。
文章图片
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 ] )
文章图片
image.png
获取记录数 1、mysqli_num_rows() ü 描述:取得结果集中行的数目
ü 语法:int mysqli_num_rows ( mysqli_result $result )
ü 说明:mysqli_num_rows()返回结果集中行的数目。
ü 注意:此命令仅对 SELECT 语句有效。
文章图片
image.png
2、mysqli_affected_rows() ü 描述:取得前一次 MySQL 操作所影响的记录行数;
ü 语法:
int mysqli_affected_rows ( mysqli $link )
ü 说明:取得最近一次与 $link 关联的 INSERT、UPDATE 或 DELETE 查询所影响的记录行数。
文章图片
image.png
特殊情况:
文章图片
image.png
3、mysqli_insert_id() ü 描述:取得上一次插入操作的主键ID;
ü 语法:int mysqli_affected_rows ( mysqli $link )
ü 说明:主要针对insert操作
文章图片
image.png 【第12天|第12天 PHP操作MySQL(一)】
综合案例:学生信息管理
文章图片
image.png
1、创建数据库和表
文章图片
image.png
2、制作表单 add.html
文章图片
image.png
文章图片
image.png
3、添加入库 add.php
文章图片
image.png
4、展示数据 index.php
文章图片
image.png
5、删除 del.php
index.php
文章图片
image.png
del.php
文章图片
image.png 6、修改
index.php
文章图片
image.png
update.php
文章图片
image.png
update.html
文章图片
image.png
文章图片
image.png
edit.php
文章图片
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天
- 跌跌撞撞奔向你|跌跌撞撞奔向你 第四章(你补英语,我补物理)