第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();
第12天 PHP操作MySQL(一)_第1张图片
image.png

第12天 PHP操作MySQL(一)_第2张图片
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天 PHP操作MySQL(一)_第3张图片
image.png

2、****mysqli_connect_error()

描述:返回上一个 MySQL 连接产生的文本错误信息
语法:string mysqli_connect_error ( void)
参数:没有参数。


第12天 PHP操作MySQL(一)_第4张图片
image.png

3****、mysqli_close()

描述:关闭先前打开的数据库连接
语法:bool mysqli_close ( mysqli $link )

第12天 PHP操作MySQL(一)_第5张图片
image.png

函数:

mysqli_error(连接资源) 错误信息
mysqli_errno(连接资源) 错误编号

选择当前数据库

描述:一个数据库服务器可能包含很多的数据库,通常需要针对某个具体的数据库进行编程
语法:bool mysqli_select_db(mysqli $link, string $database)
返回值:如果成功返回TRUE,失败则返回FALSE。

第12天 PHP操作MySQL(一)_第6张图片
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 的返回值意味着查询是合法的并能够被服务器执行。
注意:查询字符串不应以分号结束,和命令行模式下有区别。

第12天 PHP操作MySQL(一)_第7张图片
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天 PHP操作MySQL(一)_第8张图片
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 查询所影响的记录行数。

第12天 PHP操作MySQL(一)_第9张图片
image.png

特殊情况:
第12天 PHP操作MySQL(一)_第10张图片
image.png

3、mysqli_insert_id()

ü 描述:取得上一次插入操作的主键ID;
ü 语法:int mysqli_affected_rows ( mysqli $link )
ü 说明:主要针对insert操作

第12天 PHP操作MySQL(一)_第11张图片
image.png

综合案例:学生信息管理

第12天 PHP操作MySQL(一)_第12张图片
image.png

1、创建数据库和表


第12天 PHP操作MySQL(一)_第13张图片
image.png

2、制作表单 add.html


第12天 PHP操作MySQL(一)_第14张图片
image.png

第12天 PHP操作MySQL(一)_第15张图片
image.png

3、添加入库 add.php
第12天 PHP操作MySQL(一)_第16张图片
image.png

4、展示数据 index.php


第12天 PHP操作MySQL(一)_第17张图片
image.png

5、删除 del.php
index.php
image.png

del.php
第12天 PHP操作MySQL(一)_第18张图片
image.png

6、修改
index.php

image.png

update.php
第12天 PHP操作MySQL(一)_第19张图片
image.png

update.html
image.png

第12天 PHP操作MySQL(一)_第20张图片
image.png

edit.php
第12天 PHP操作MySQL(一)_第21张图片
image.png

你可能感兴趣的:(第12天 PHP操作MySQL(一))