前言:
前边介绍了php脚本获取并打印输出html提交的数据,本文将介绍php脚本访问查询MySql数据库。
示例代码:
<style>
td{width:100px;}/*我的存在只为证明php文件中php脚本外边可以定义style样式*/
th{background: #22AAFF; text-align: left;color: #fff;;}
</style>
<?php
header("Content-Type:text/html;charset=utf8"); $link=mysql_connect("localhost","root","root");
mysql_select_db("test", $link); //选择数据库 $q = "SELECT * FROM user_info"; //SQL查询语句
mysql_query("SET NAMES utf8");//解决中文乱码问题
$rs = mysql_query($q); //获取数据集
if(!$rs){die("Valid result!");}
echo "<table>";
echo "<tr><th>编号</th><th>姓名</th><th>手机号码</th></tr>";
while($row = mysql_fetch_array($rs)) echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>"; //显示数据
echo "</table>";
mysql_free_result($rs); //关闭数据集
?>
示例解析:
1. header() 函数向客户端发送原始的 HTTP 报头。
//定义html页面,并设置编码
header("Content-Type:text/html;charset=utf8"); //导出excel表格时设置文档类型和导出文件扩展名
header ( "Content-type:application/vnd.ms-excel" );
header ( "Content-Disposition:filename=csat.xls" );
2. 连接数据库:
$link=mysql_connect("localhost","root","root");
mysql_select_db("test", $link); //选择数据库
示例解析:
连接数据库 mysql_connect(主机名,用户名,密码); 选择数据库 mysql_select_db(数据库名称, 数据库连接);
3. 查询数据表,获取数据集:
$sql = "SELECT * FROM user_info"; //SQL查询语句
12 mysql_query("SET NAMES utf8");//解决中文乱码问题
13 $result = mysql_query($sql); //获取数据集
4.输出表格
echo "<table>";
echo "<tr><th>编号</th><th>姓名</th><th>手机号码</th></tr>";
echo "<tr><td>1</td><td>张三</td><td>13888888888</td></tr>";
echo "<tr><td>1</td><td>张三</td><td>13888888888</td></tr>";
echo "</table>";
5. 循环输出数据
while($row = mysql_fetch_array($rs)) echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>"; //显示数据
示例解析:
$row=mysql_fetch_array($rs); 读取数据集并返回数组
while($row=mysql_fetch_array($rs)){//循环读取数组中的数据
......
}
注意:循环读取数据集中的内容,一定要使用While循环。
注意事项:
php5.5已废除mysql扩展,需要改为mysqli或PDO,示例代码如下:
//PDO方式
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
//mysqli方式
$link = mysqli_connect(
'localhost', /* The host to connect to 连接MySQL地址 */
'root', /* The user to connect as 连接MySQL用户名 */
'root', /* The password to use 连接MySQL密码 */
'test'); /* The default database to query 连接数据库名称*/
if(!$link) echo "没有连接成功!";
当然,前边的用法仍然可用,大部分web主机默认还是支持的,如果web虚拟主机默认支持的php版本再5.5之上,那么可以设置低版本的php,如下,使用jspStudy设置不同的Php版本: