第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 link , stringcharset )
返回:成功时返回 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 [, intresult_type = MYSQLI_BOTH ] )
ü 参数:$result_type是一个常量,取值:MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引)
ü 返回:返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
ü 注意:本函数返回的字段名区分大小写。

4、mysqli_fetch_all()

ü 描述:从结果集中取得所有行作为关联数组、枚举数组、或二者兼有
ü 语法:mixed mysqli_fetch_all ( mysqli_result result [, intresulttype = 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

综合案例:学生信息管理

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355