二级MySQL PHP综合应用题完整考点+历年真题风格练习题

一、考试说明

  1. 题型综合应用题(上机填空,20分) ,给出不完整.php网页代码,删除下划线补全语句,不能修改其他代码
  2. 环境 :WAMP5.0+、MySQL5.5,PHP使用旧mysql扩展(面向过程,试卷统一这套函数,不考mysqli)
  3. 固定业务流程:表单提交 → PHP接收表单数据 → 连接MySQL → 执行SQL(增/删/改/查) → 循环输出表格 → 关闭连接
  4. 试卷固定标记//********found********下方为填空下划线位置

二、核心模块拆解 + 对应解题思路(按代码出现顺序)

模块 1:HTML 表单部分(第一处填空高频)

常考填空点:form 标签 method 属性

html 复制代码
<form method="____" action="">

解题思路

  • 考试所有表单统一使用 post 提交,直接填 post
  • 记忆区分:$_POST 对应 method="post"$_GET 对应 get,考题不会考 get
  • 次要考点:input 标签 name="xxx",PHP 靠 name 取值,id 无任何作用,填空不会考,但看懂 name 才能后续接收数据

模块 2:数据库连接(几乎每道题第二个空)

标准模板代码

php 复制代码
$conn = mysql_connect("localhost","root","") or ____;

填空思路

  • 函数固定:mysql_connect(主机,用户名,密码)
  • or die("xxx") 固定搭配:连接失败终止页面并提示,下划线一定填 die("连接失败")
  • 衍生填空:如果空在函数名位置,直接填 mysql_connect

模块 3:选择数据库、设置字符集

php 复制代码
mysql_select_db("库名",$conn);
mysql_set_charset("utf8",$conn);

解题思路

  • mysql_select_db(数据库名,连接变量),库名题目会明确给出(如 db_sc),直接抄
  • mysql_set_charset("utf8",$conn) 固定写法,防止中文乱码,极少填空,但要认识

模块 4:接收表单提交数据(必考填空)

php 复制代码
$变量 = ____;

解题思路

  • 找到上方表单 input 标签里的 name="值",例如 <input name="deptname">
  • 固定语法:$_POST["表单name值"]
  • 示例:name="sno"$_POST["sno"]
  • 坑点:引号不能丢,不能写 $_POST[sno](无引号考试判错)

模块 5:拼接 SQL 语句(增删改查通用)

php 复制代码
$sql = "SELECT * FROM tb_student WHERE dept='".$dept."'";

解题思路

  • PHP 字符串拼接符号是 .,不是 +

  • SQL 里字符串条件必须用单引号包裹变量,格式固定:'".$变量."'

  • UPDATE 题型填空高频:

    php 复制代码
    UPDATE 表 SET 字段1='".$val1."',____ WHERE 条件

    下划线填:字段2='".$val2."',直接复制前面格式替换字段名即可

模块 6:执行 SQL 语句(固定填空)

php 复制代码
$res = ____;

解题思路

  • 执行 SQL 唯一函数:mysql_query($sql,$conn)
  • 参数顺序:第一个是拼接好的 $sql,第二个是数据库连接变量 $conn
  • 无论 SELECT/INSERT/UPDATE/DELETE,全部用这个函数,无其他替代函数

模块 7:读取结果集、循环输出表格(分值最高)

场景 1:循环多条数据(查询列表)

php 复制代码
while(____){
    echo "<tr><td>".$row["sno"]."</td></tr>";
}

填空标准答案$row = mysql_fetch_assoc($res)

解题思路

  • mysql_fetch_assoc(结果集变量):取出一行数据,返回关联数组
  • 赋值给 $row,循环内用 $row["表字段名"] 输出单元格
  • 固定循环结构:while 循环,不能用 for/if

场景 2:只查询单条数据(修改页面回填原数据)

php 复制代码
$row = ____;

同样填:mysql_fetch_assoc($res),不需要 while

模块 8:收尾关闭数据库

php 复制代码
mysql_close($conn);

极少填空,认识即可,参数是连接变量 $conn

三、PHP选择考点(选择题会出现)

  1. PHP标记:<?php ... ?>,不能加空格
  2. 变量全部以$开头,$conn$sql$row
  3. 字符串连接符:. 不是+
  4. die():输出提示并终止程序
  5. $_POST:接收post表单;$_GET接收地址栏参数
  6. 数组取值:$row["字段名"] 中括号双引号/单引号均可

四、历年真题风格练习题(3套综合填空大题,带答案)

练习题1(样题原题:按院系查询学生选课表)

题干

数据库db_sc三张表:

  • tb_student(sno,sname,dept) 学号、姓名、院系
  • tb_course(cno,cname,credit) 课程号、课程名、学分
  • tb_sc(sno,cno,score) 学号、课程号、成绩

页面功能:输入院系名称,查询该院所有学生选课信息,表格展示:学号、姓名、课程名、成绩、学分

文件sj3.php代码,补全found下划线处

php 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生选课查询</title>
</head>
<body>
<h3 align="center">学生选课信息查询</h3>
<!--********found********-->
<form method="____1____" action="">
院系名称:<input type="text" name="deptname">
<input type="submit" value="查询">
</form>
<?php
//判断是否点击查询按钮提交表单
if(isset($_POST["deptname"])){
    //********found********
    $conn = mysql_connect("localhost","root","") or ____2____;
    mysql_select_db("db_sc",$conn);
    mysql_set_charset("utf8",$conn);
    
    //接收表单院系值
    //********found********
    $dept = ____3____;
    
    //多表联查SQL
    $sql = "SELECT s.sno,s.name,c.cname,sc.score,c.credit
            FROM tb_student s
            JOIN tb_sc sc ON s.sno=sc.sno
            JOIN tb_course c ON sc.cno=c.cno
            WHERE s.dept = '".$dept."'";
    
    //********found********
    $res = ____4____;
    
    echo "<table border='1' align='center'>
          <tr><th>学号</th><th>姓名</th><th>课程名</th><th>成绩</th><th>学分</th></tr>";
    
    //循环取出每行数据
    //********found********
    while(____5____){
        echo "<tr>
              <td>".$row["sno"]."</td>
              <td>".$row["sname"]."</td>
              <td>".$row["cname"]."</td>
              <td>".$row["score"]."</td>
              <td>".$row["credit"]."</td>
              </tr>";
    }
    echo "</table>";
    mysql_close($conn);
}
?>
</body>
</html>
填空答案
  1. post
  2. die("数据库连接失败")
  3. $_POST"deptname"
  4. mysql_query( s q l , sql, sql,conn)
  5. r o w = m y s q l f e t c h a s s o c ( row = mysql_fetch_assoc( row=mysqlfetchassoc(res)

练习题2(新增客户信息提交页面)

题干

数据库db_cus,客户表tb_cus(cid,name,sex,phone,email),页面表单输入客户信息,点击提交插入数据库

php 复制代码
<!DOCTYPE html>
<html>
<body>
<h3>新增客户</h3>
<form method="post" action="">
客户编号:<input name="cid"><br>
姓名:<input name="cname"><br>
性别:<input name="sex"><br>
手机:<input name="phone"><br>
邮箱:<input name="email"><br>
<input type="submit" value="添加">
</form>
<?php
if(isset($_POST["cid"])){
    //********found********
    $link = ____1____("localhost","root","") or die("连接失败");
    mysql_select_db("db_cus",$link);
    mysql_set_charset("utf8",$link);
    
    //接收所有表单数据
    $cid = $_POST["cid"];
    $name = $_POST["cname"];
    $sex = $_POST["sex"];
    $phone = $_POST["phone"];
    $email = $_POST["email"];
    
    //拼接插入SQL
    //********found********
    $sql = "INSERT INTO tb_cus(cid,name,sex,phone,email) VALUES('".$cid."','".$name."','".$sex."','".$phone."','".$email."')";
    
    //执行SQL
    //********found********
    $result = mysql_query(____2____);
    
    if($result){
        echo "<p align='center'>客户添加成功!</p>";
    }else{
        echo "<p align='center'>添加失败</p>";
    }
    mysql_close($link);
}
?>
</body>
</html>
填空答案
  1. mysql_connect
  2. s q l , sql, sql,link

练习题3(学生信息查询与删除)

题干

数据库db_stu,学生表tb_stu(id,name,age,class),实现查询和删除功能

php 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生信息管理</title>
</head>
<body>
<h3 align="center">学生信息查询与删除</h3>
<form method="post" action="">
班级:<input type="text" name="class">
<input type="submit" name="query" value="查询">
</form>
<hr>
<?php
if(isset($_POST["query"])){
    //********found********
    $conn = mysql_connect("localhost","root","") or ____1____;
    mysql_select_db("db_stu",$conn);
    mysql_set_charset("utf8",$conn);
    
    //接收班级值
    $class = $_POST["class"];
    
    //查询SQL
    $sql = "SELECT * FROM tb_stu WHERE class = '".$class."'";
    
    //********found********
    $result = ____2____;
    
    echo "<table border='1' align='center'>
          <tr><th>ID</th><th>姓名</th><th>年龄</th><th>班级</th><th>操作</th></tr>";
    
    //********found********
    while($row = ____3____){
        echo "<tr>
              <td>".$row["id"]."</td>
              <td>".$row["name"]."</td>
              <td>".$row["age"]."</td>
              <td>".$row["class"]."</td>
              <td><a href='delete.php?id=".$row["id"]."'>删除</a></td>
              </tr>";
    }
    echo "</table>";
    mysql_close($conn);
}
?>
</body>
</html>
填空答案
  1. die("连接失败")
  2. mysql_query( s q l , sql, sql,conn)
  3. mysql_fetch_assoc($result)

五、备考技巧与注意事项

  1. 先看整体流程:先理解整个页面的业务逻辑,再填空
  2. 注意函数参数顺序:mysql_connect(主机,用户名,密码)
  3. 字符串拼接用点号 :PHP中字符串连接用.,不是+
  4. SQL变量加引号:SQL语句中的变量要用单引号包裹
  5. 表单name属性 :PHP通过$_POST["name属性"]接收数据
  6. 循环输出格式 :while循环内用$row["字段名"]取值
  7. 关闭连接 :最后一定要有mysql_close($conn)

六、常见错误分析

  1. 函数名写错:mysql_connect写成mysql_connet
  2. 参数顺序错:mysql_connect("root","localhost","")
  3. 缺少连接句柄:mysql_query($sql)缺少第二个参数
  4. 字符串连接错 :用+连接字符串
  5. SQL引号缺失WHERE dept = $dept 应为 WHERE dept = '".$dept."'
  6. POST接收错$_POST[deptname] 应为 $_POST["deptname"]

七、考试做题固定步骤(拿分技巧)

  1. 先看题目业务:查 / 增 / 改 / 删,确定 SQL 类型
  2. 按填空顺序记忆固定模板
    • ① 连接数据库:mysql_connect(...) or die(...)
    • ② 选库:mysql_select_db(库名,$连接)
    • ③ 接收表单:$_POST["输入框name"]
    • ④ 执行 SQL:mysql_query($sql,$连接)
    • ⑤ 遍历结果:while($row=mysql_fetch_assoc($结果集))
  3. 表单 method 固定填 post(试卷全部表单都是 post)
  4. SQL 更新、插入语句字段用 . 拼接变量,外层单引号包裹
  5. 不修改 found 标记、不删除原有代码,只替换下划线内容

掌握以上考点和练习题,二级MySQL PHP综合应用题就能轻松应对!

相关推荐
Dxy123931021611 小时前
Python 如何使用 MySQL 的事务
python·mysql
YB137512 小时前
jetpack compose 副作用 SideEffect
android·kotlin
CHB14 小时前
uni-app x 蒸汽模式 性能测试基准报告 Benchmark【Android版】
android·ios·uni-app
带娃的IT创业者15 小时前
拆掉那堵墙:LibrePods 如何让 AirPods 在 Android 上重获新生
android·开源项目·airpods·librepods·生态解锁
xiaoye-duck15 小时前
MySQL 表约束全解:从基础约束到外键关联规则
数据库·mysql
2601_9657984716 小时前
Is Piroll WordPress Theme Worth It for Freelancers? Full Review
数据库·php
冷凝娇17 小时前
【MySQL】2026总结(二)
数据库·mysql
_阿南_17 小时前
flutter 展示的字体突然奔放了
android·flutter·ios
wWYy.18 小时前
Mysql:Read View
数据库·mysql