网易首页 > 网易号 > 正文 申请入驻

0066 使用PHP和MySQL实现学生分数信息管理

0
分享至

上节课介绍了MySQL数据库中如何使用SQL语言查询和变更数据。

这节课来介绍如何通过PHP调用SQL语句实现数据管理功能网页。

通过PHP调用SQL语句连接到数据库

前面教程当中通过PHP编程语言来读写数据文本文件的方式,实现了一个学生分数信息管理功能。

可以实现一览查询,新增,编辑和删除功能。

通过读写数据文件的方式有很多局限性,最好的方式是通过PHP编程语言来调用SQL语句,从而将数据的查询和变更都通过数据库来实现。

首先要实现通过PHP编程语言连接到数据库,然后才能调用相应的SQL语句来访问和变更数据。

打开之前编写过的studentlist_do.php文件,修改为如下代码:

其中最重要的下面2句代码:

/*连接数据库服务器*/

$dbh=@mysql_connect($dbserver,$dbusername,$dbpassword) or die('数据库连接错误!');

/*打开数据库*/

mysql_select_db($databasename,$dbh);

前面一句是调用mysql_connect函数,传递的参数是:数据库服务器地址,数据库用户名,数据库密码。

后面的or die是当mysql_connect如果调用成功,则返回true则后面的or die不会执行。

如果mysql_connect调用不成功,比如服务器地址错误或者密码错误等,则or die会继续执行;

die这个函数的作用就是结束整个php网页的继续执行,将"数据库连接错误"这个字符串返回到浏览器显示出来。

后面一句mysql_select_db函数的作用是连接到具体的数据库,例如这里就是之前创建好的数据库student。

由于上节课,学哥的数据库是安装在Window7里面的phpStudy环境中,因此将student的这些php文件都部署到了phpStudy环境里面,访问网页地址:localhost/studentlist.php:

发现看到的结果和之前学哥将php文件部署在ubuntu操作系统下面显示的结果不一样。

网页中显示了很多Notice和Warning。

关闭PHP错误提示

由于PHP可以显示很多错误提示来帮助开发者更好的调试代码,而PHP错误提示有很多个级别,是可以通过配置文件进行设置的。

1种方法是修改PHP目录里面的php.ini配置文件设置相应的错误提示级别。

第2种方法可以在PHP代码中临时设置当前这个php文件的错误提示级别。

下面我们使用第2种方法来将Notice提示和Warning提示关闭,不显示到网页中。

studentlist_do.php文件修改如下:

刷新网页:

可以看到之前的错误提示信息都不见了。

为何之前学哥在ubuntu系统下部署运行php程序没有这个问题呢,这是因为ubutnu系统里面的php和Window7下面的phpStudy的php的配置不一样。

一般来说作为编程者知道此问题即可,知道如何打开和关闭错误提示即可。需要调试代码时打开,正式运行时关闭。

使用PHP调用SQL语句查询一览数据

接下来就可以使用已经连接好的数据库来将一览页面的数据从数据库种查询出来并显示,就不再需要读取studentdatas.txt文件了。

studentlist_do.php文件修改如下:

刷新网页,然后点击查询按钮:

可以看到显示了2条数据。可以通过数据库客户端软件打开数据库,打开表,确认确实是存在这2条数据记录。

关键的代码如下:

$query="select * from studentscore";

这一句是定义一个查询的SQL语句,这里是不带检索条件查询出表studentscore里的所有记录。

$result=mysql_query($query,$dbh);

这一句是通过mysql_query执行一句SQL语句,第二个参数$dbh就是前面通过mysql_connect函数返回的数据库连接实例变量。

while($record=@mysql_fetch_object($result)){

这一句是将查询的结果$result变量通过函数mysql_fetch_object进行while遍历,每次一条记录,记录结果存储到返回值$record。

$onedata["id"]=$record->id;

这一句就可以通过访问$record变量数组的键来获得一条记录的某个字段的数据值。

注意这里的id要和数据库的字段名完全匹配上。

其它的辅助代码就是将读取的表记录的字段数据值存放到二维数组变量$alldatas当中,和之前的定义一致,这样后面的代码就不需要修改了。

使用where的SQL语句实现条件查询

之前要实现条件查询,如果读取数据文件方式,只能自己通过写PHP代码进行数据过滤筛选的方式,有了SQL语句之后,就简单了。

可以通过根据传递的条件进行判断,生成相应的SQL语句来进行数据库查询,获得满足条件的数据记录结果集。

如果要实现姓名的模糊查询,对应的SQL语句是这样的:

select * from studentscore where name like '%张%';

那么就要根据传递过来的姓名条件参数,将where后面的这串字符串拼装好,拼接到$query变量中。

studentlist_do.php文件修改如下:

刷新网页,然后在姓名条件输入“张”,然后点击查询按钮:

可以看到显示了1条满足条件的数据。同时可以看到具体的SQL语句显示在网页上,这是为了调试用,全部代码完成之后再注释掉。

接下来,实现其它3个查询条件,注意多个查询条件之间要用and进行连接。

studentlist_do.php文件修改如下:

刷新网页,然后在姓名条件输入“张”,性别选择“男”,分数段选择“75-90”,科目勾选“语文”和“数学”,然后点击查询按钮:

可以看到显示了1条满足条件的数据。同时可以通过查看SQL语句判断程序逻辑是否正确的拼装好了SQL语句。

如果将检索条件分数段选择修改为“90分以上”,点击查询按钮后会看到没有检索到数据。

可以将这段调试用的SQL语句复制粘贴到数据库客户端软件里面去运行,同样也查询不到数据。

由于很多代码都没有用了,因此可以将注释的代码全部删除进行精简,同时将调试语句注释掉。

studentlist_do.php文件修改后完整代码如下:

通过PHP调用SQL语句新增一条记录

接下来,将新增一个记录的代码也修改为调用SQL语句插入记录到数据库,而不再写入到studentdatas.txt文件。

studentcreate_do.php文件修改完整代码如下:

其中关键性的代码是调用函数mysql_query执行一句SQL语句,然后根据返回值判断是否成功执行。

另外需要说明的是getMaxId自定义函数用于查询数据库表,得到某个表的某个字段的最大的值,返回值加1。

它的作用在这里就是用于取得studentscore表的最大的ID的值,然后加1返回。这样插入数据库的时候ID就不会重复了。

由于getMaxId具有共通性,所以将它做成一个函数,未来可以将这个函数独立放到某个共通文件,可以在多个php文件中去引用。

打开一览页面,点击查询按钮:

可以看到目前总共2条记录,点击链接“新建学生分数信息”,进入新建页面:

姓名输入“段誉”,性别选择“男”,科目选择“英语”,分数输入“99”,点击“保存”按钮:

看到显示了提示信息“创建数据成功”,并且可以看到调试用的SQL语句,可以查看SQL语句是否正确。

点击“确定”按钮,然后关闭此窗口。

回到一览页面,点击“查询”按钮:

可以看到了新增到数据库的记录被查询出来了。

通过PHP调用SQL语句修改和删除一条记录

接下来,将修改和删除一个记录的代码也修改为调用SQL语句插入记录到数据库,而不再写入到studentdatas.txt文件。

studentedit_do.php文件修改完整代码如下:

打开一览页面,点击查询按钮:

可以看到目前总共3条记录,点击链接“段誉”,进入编辑页面:

姓名修改为“王语嫣”,性别选择“女”,科目选择“音乐”,分数输入“96”:

点击“保存”按钮:

看到显示了提示信息“编辑数据成功”,并且可以看到调试用的SQL语句,可以查看SQL语句是否正确。

点击“确定”按钮,然后关闭此窗口。

回到一览页面,点击“查询”按钮:

可以看到了第3条记录的数据被修改好并查询出来了。

点击链接“王语嫣”,进入编辑页面:

点击“删除”按钮:

确认页面点击“确定”:

看到显示了提示信息“删除数据成功”,并且可以看到调试用的SQL语句,可以查看SQL语句是否正确。

点击“确定”按钮,然后关闭此窗口。

回到一览页面,点击“查询”按钮:

可以看到了第3条记录不见了。

此时,可以到数据库客户端软件中打开表studentscore查看数据,确认确实数据记录被删除了。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
一场124-92让湖人收获安慰!老詹难避免出局,不被横扫成仅剩目标

一场124-92让湖人收获安慰!老詹难避免出局,不被横扫成仅剩目标

小马哥谈体育
2024-04-25 13:09:27
我国飞得最久的航天员叶光富二度飞天:8岁丧父,农民妈妈培养他

我国飞得最久的航天员叶光富二度飞天:8岁丧父,农民妈妈培养他

说天说地说实事
2024-04-26 08:15:15
全军覆没!市面热销的30款啤酒无一幸免!网友 :啤酒都喝不了

全军覆没!市面热销的30款啤酒无一幸免!网友 :啤酒都喝不了

今日美食分享
2024-04-26 06:59:12
王艺迪输球到底多严重?张本美和说出实话,王曼昱也被连累到了

王艺迪输球到底多严重?张本美和说出实话,王曼昱也被连累到了

时刻体育正版
2024-04-25 23:55:31
央视著名主持人康辉传来最新消息!终于看清他的真面目了

央视著名主持人康辉传来最新消息!终于看清他的真面目了

阿芒娱乐说
2024-04-26 10:06:46
广厦35分耻辱出局,最大祸根终于挖出来了!球迷:下季不想见到你

广厦35分耻辱出局,最大祸根终于挖出来了!球迷:下季不想见到你

弄月公子
2024-04-25 22:57:47
字节被裁当天发现怀孕

字节被裁当天发现怀孕

蚂蚁大喇叭
2024-04-25 15:25:56
抛弃中国选西班牙!沙特撤回140亿军舰大单背后,原因太心酸

抛弃中国选西班牙!沙特撤回140亿军舰大单背后,原因太心酸

军机图
2024-04-25 17:06:21
“侯景之乱”为啥特别出名?一场叛乱,却彻底改变了历史发展进程

“侯景之乱”为啥特别出名?一场叛乱,却彻底改变了历史发展进程

否知的否
2024-04-23 19:53:07
【彭真】毛主席最后犯了错误,整了那么多人,挨整的人谁没有气?

【彭真】毛主席最后犯了错误,整了那么多人,挨整的人谁没有气?

年之父
2024-04-26 11:15:03
刚刚!确认牺牲,他才28岁啊!留下一对年幼儿女…

刚刚!确认牺牲,他才28岁啊!留下一对年幼儿女…

金湾通
2024-04-26 01:12:47
大反转!5600亩承包费用曝光,擅自改变土地性质,转租每年赚百万

大反转!5600亩承包费用曝光,擅自改变土地性质,转租每年赚百万

辣条小剧场
2024-04-25 09:00:03
成都天府绿道小麦菜籽成熟了还没收割?管理方:有农耕人员专门负责 4月底陆续收割

成都天府绿道小麦菜籽成熟了还没收割?管理方:有农耕人员专门负责 4月底陆续收割

封面新闻
2024-04-25 13:36:22
赵长鹏发表道歉信:为我糟糕的决定道歉,并对我的行为承担全部责任

赵长鹏发表道歉信:为我糟糕的决定道歉,并对我的行为承担全部责任

界面新闻
2024-04-25 19:06:49
王心凌最厉害之处就是在低谷期买回了她所有的音乐版权了吧

王心凌最厉害之处就是在低谷期买回了她所有的音乐版权了吧

娱乐的小灶
2024-04-25 11:31:21
都要撤?苹果、富士康之后,特斯拉也行动了,外媒:不会再回头了

都要撤?苹果、富士康之后,特斯拉也行动了,外媒:不会再回头了

一个有灵魂的作者
2024-04-25 13:29:51
特维斯被紧急送往医院

特维斯被紧急送往医院

星耀国际足坛
2024-04-25 01:25:03
像荆州这种每家每户都有一口大鱼塘,真是太美了

像荆州这种每家每户都有一口大鱼塘,真是太美了

作家李楠枫
2024-04-25 21:37:25
英国媒体曝出猛料!凯特4个多月不出面,和这两人密切相关

英国媒体曝出猛料!凯特4个多月不出面,和这两人密切相关

金牌娱乐
2024-04-26 10:43:26
102岁杨振宁庆祝“瓷婚”,翁帆母亲罕露面!墙上百万名画很抢眼

102岁杨振宁庆祝“瓷婚”,翁帆母亲罕露面!墙上百万名画很抢眼

娱乐团长
2024-04-18 21:00:03
2024-04-26 12:44:49
学哥读书
学哥读书
读万卷书,行万里路,知行合一
1211文章数 2744关注度
往期回顾 全部

科技要闻

中国车企“五常”激战北京车展

头条要闻

男子帮被打女子报警被砍成重伤 打人者最高被判3年半

头条要闻

男子帮被打女子报警被砍成重伤 打人者最高被判3年半

体育要闻

库里当选最佳关键球员 10项数据联盟第一

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

24年后再产纯净水 农夫山泉为何要打自己脸

汽车要闻

2024北京车展 比亚迪的自驱力让对手紧追猛赶

态度原创

房产
旅游
亲子
艺术
家居

房产要闻

涉及黄埔、番禺、增城!广州新一轮大规模征地启动

旅游要闻

白俄,中国人的快乐福地?

亲子要闻

萌娃晚上睡觉盖被子 小小的眼睛大大的疑惑

艺术要闻

艺术名画︱爱尔兰画家大卫·科因的刀画作品

家居要闻

光影之间 空间暖意打造生活律动

无障碍浏览 进入关怀版