PHP使用MySQL扩展执行SELECT查询示例

判断是否开启了MySQL扩展

要使用MySQL扩展,先要判断是否开启了MySQL扩展。

1 <?php 
2 header("Content-Type: text/html; CHARSET=utf8");
3 
4 // function_exists — 如果给定的函数已经被定义就返回 TRUE
5 // https://www.php.net/manual/zh/function.function-exists.php
6 if (!function_exists("mysql_connect")) {
7     exit('MySQL 扩展未开启');
8 }

读取配置文件

读取连接MySQL需要的信息,host、username、password等

1 // parse_ini_file — 解析一个配置文件
2 // https://www.php.net/manual/zh/function.parse-ini-file.php
3 $mysqlIni = parse_ini_file("mysql.ini");
4 $host = $mysqlIni['host'];
5 $port = $mysqlIni['port'];
6 $username = $mysqlIni['username'];
7 $password = $mysqlIni['password'];
8 $dbname = $mysqlIni['dbname'];

连接MySQL

使用mysql_connect连接MySQL

 1 // mysql_connect — 打开一个到 MySQL 服务器的连接
 2 // https://www.php.net/manual/zh/function.mysql-connect.php
 3 $link = @mysql_connect("{$host}:{$port}", $username, $password);
 4 
 5 // 判断有没有连接成功
 6 if (!$link) {
 7     echo '数据库连接失败<br>';
 8     // mysql_errno — 返回上一个 MySQL 操作中的错误信息的数字编码
 9     // https://www.php.net/manual/zh/function.mysql-errno.php
10     echo '错误编号: ', mysql_errno(), '<br>';
11     // mysql_error — 返回上一个 MySQL 操作产生的文本错误信息
12     // https://www.php.net/manual/zh/function.mysql-error.php
13     echo '错误信息: ', mysql_error();
14     exit();
15 }

选择数据库(database)

选择要操作的表所在的数据库

1 // mysql_select_db — 选择 MySQL 数据库
2 // https://www.php.net/manual/zh/function.mysql-select-db.php
3 $db_selected = mysql_select_db($dbname, $link);
4 if (!$db_selected) {
5     echo '选择数据库失败<br>';
6     echo '错误编号: ', mysql_errno(), '<br>';
7     echo '错误信息: ', mysql_error();
8     exit();
9 }

设置字符集

设置字符集为utf8,避免中文出现乱码

1 mysql_query("set names utf8");

发送MySQL查询

发送MySQL查询,如果查询成功,在处理完结果集后要释放结果集。这里先把释放结果集写上,处理结果集写在后面

 1 // 定义查询语句
 2 $query = "select id,name,height,gender,date_of_birth from starinfo limit 0,5";
 3 
 4 // mysql_query — 发送一条 MySQL 查询
 5 // https://www.php.net/manual/zh/function.mysql-query.php
 6 $result = mysql_query($query, $link);
 7 if (!$result) {
 8     echo '查询失败<br>';
 9     echo '错误编号: ', mysql_errno();
10     echo '错误信息: ',mysql_error();
11     exit();
12 }
13 
14     // 在这里对结果集进行处理
15     // 在这里对结果集进行处理
16     // 在这里对结果集进行处理
17 
18 // mysql_free_result — 释放结果内存
19 // https://www.php.net/manual/zh/function.mysql-free-result.php
20 mysql_free_result($result);
21 
22 // mysql_close — 关闭 MySQL 连接
23 // https://www.php.net/manual/zh/function.mysql-close.php
24 mysql_close($link);

处理结果集

这里以取出关联数组用while循环加foreach循环输出一个表格为例

 1 echo "<table border=\"1px\">";
 2 
 3 // 取字段名
 4 echo "<tr>";
 5 // mysql_fetch_field — 从结果集中取得列信息并作为对象返回
 6 // https://www.php.net/manual/zh/function.mysql-fetch-field.php
 7 while ($field = mysql_fetch_field($result)) {
 8     echo "<th>{$field -> name}</th>";
 9 }
10 echo "</tr>";
11 
12 // 取记录信息
13 // mysql_fetch_array — 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
14 // https://www.php.net/manual/zh/function.mysql-fetch-array.php
15 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
16     echo "<tr>";
17     foreach ($row as $key => $value) {
18         echo "<td>{$value}</td>";
19     }
20     echo "</tr>";
21 }
22 
23 echo "</table>";

最终输出结果

id name height gender date_of_birth
1 胡歌 185 male 1982-09-20
2 杨幂 167 female 1986-09-12
3 赵薇 166 female 1976-03-12
4 赵丽颖 165 female 1987-10-16
5 苏有朋 173 male 1973-09-11

猜你喜欢

转载自www.cnblogs.com/baimi/p/11862759.html