php7连接MySQL实现简易查询程序的方法
这篇文章主要给大家介绍了关于php7连接MySQL实现简易查询程序的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
简易教程
假设我们制作的是分班情况查询程序,将使用PHP7的环境以PDO的方式连接MySQL。
通过学号和姓名查询自己所在班级。
先来介绍文件结构和数据库结构:
PHP:
config.php 存放数据库配置信息
cx.php 查询程序
index.html 用户界面
结构如图
MySQL:
表名:data
字段:1.Sid 2.name 3.class
结构如图
准备就绪,开始吧,现在!
首先构建用户界面(index.html),两个简单的编辑框加上一个简单的按钮:
- <!DOCTYPE html>
- <html >
- <head>
- <meta charset="UTF-8">
- <title>分班查询系统</title>
- </head>
- <body>
- <form action="cx.php" method="post">
- <p>学号:<input type="text" name="xuehao"></p>
- <p>姓名: <input type="text" name="xingming"></p>
- <p><input type="submit" name="submit" value="查询"></p>
- </form>
- </body>
- </html>
好嘞,接下来配置数据库信息(config.php)吧
- <?php
- $server="localhost";//主机的IP地址
- $db_username="root";//数据库用户名
- $db_password="123456";//数据库密码
- $db_name = "data";
然后去编写我们的主程序(cx.php)
- <?php
- header("Content-Type: text/html; charset=utf8");
- if(!isset($_POST["submit"]))
- {
- exit("未检测到表单提交");
- }//检测是否有submit操作
- include ("config.php");
- $Sid = $_POST['Sid'];//post获得学号表单值
- $name = $_POST['name'];//post获得姓名表单值
- echo "<table >";
- echo "<tr><th>学号</th><th>姓名</th><th>班级</th></tr>";
- class TableRows extends RecursiveIteratorIterator
- {
- function __construct($it)
- {
- parent::__construct($it, self::LEAVES_ONLY);
- }
- function current()
- {
- return "<td >" . parent::current() . "</td>";
- }
- function beginChildren()
- {
- echo "<tr>";
- }
- function endChildren()
- {
- echo "</tr>" . "\n";
- }
- }
- try {
- $conn = new PDO("mysql:host=$server;dbname=$db_name", $db_username, $db_password);
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $stmt = $conn->prepare("SELECT Sid, name, class FROM data where S$name'");
- $stmt->execute();
- // 设置结果集为关联数组
- $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
- foreach (new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k => $v) {
- echo $v;
- }
- } catch (PDOException $e) {
- echo "Error: " . $e->getMessage();
- }
- $conn = null;
- echo "</table>";
到此程序就写完啦
来试试看吧