上一篇说到把MySQL数据显示在html界面,结果我们项目使用的数据库是sqlserver,好了,又要另寻方法,原以为能把MySQL显示出来了,其他的也差不多,没想到也搞了差不多一天时间,小白就是要不断走错路才能找到解决方法,好了,入正题。
我使用的环境是PHP8.1+sqlserver2012。
1、上面XAMPP已经 配置好各种环境,同理,读取sqlserver也需要打开XAMPP。
2、下载sqlsrv扩展文件并安装。
(1)下载路径
Download the Microsoft Drivers for PHP for SQL Server - PHP drivers for SQL Server | Microsoft Learn()(2)Download the Microsoft Drivers for PHP for SQL Server - PHP drivers for SQL Server | Microsoft Learn()查看php版
在php文件中编写以下代码查看版本:
<?php
Phpinfo();
?>
可以看到我的php是8.1的。
(3)解压sqlsrv扩展文件并找到php版本对应的dll文件。
我的php是8.1版本,所以选择对应81的dll,注意区分32位和64位。
(4) 把两个dll文件复制粘贴到php安装路径下的ext文件夹。
(5)在php.ini中增加两条语句(加在最后即可):
extension=php_sqlsrv_81_ts_x64.dll
extension=php_pdo_sqlsrv_81_ts_x64.dll
此时再查看php版本时看到有sqlsrv了。
也可在命令窗口安装php的路径下输入php-m看下列表是否有sqlsrv,可以看到也是有的。
至此sqlsrv扩展文件安装完成。
3、编写代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生首页</title>
</head>
<body>
<h1 align="center">学生信息</h1>
<form action="" method="post" name="indexf">
<p align="center"><input type="text" name="selarea"/><input type="submit" value="搜索" name="selsubarea"></p>
<table align="center" border="1px" cellspacing="0px" width="800px">
<tr><th>学号</th><th>学生姓名</th><th>学生性别</th><th>学生年龄</th></tr>
<?php
$serverName = ""; //数据库服务器地址,写自己的服务器地址即可
$connectionInfo=array("Database"=>"electricity","ConnectionPooling"=>false,"CharacterSet"=>"UTF-8","TrustServerCertificate"=>"yes");//database写的是数据库名称
$conn=sqlsrv_connect($serverName,$connectionInfo);
if(!$conn){
echo "连接失败";
die( print_r( sqlsrv_errors(), true));
}
if(empty($_POST["selsubarea"])){
$query=sqlsrv_query($conn, "select Date,areaName,eleCount from area order by id desc");
}else{
$sel=$_POST["selarea"];
$query=sqlsrv_query($conn, "select Date,areaName,eleCount from area
where Date like '%$sel%'
or areaName like '%$sel%'
or eleCount like '%$sel%' order by id desc");
}
while($row=sqlsrv_fetch_array($query)){
echo'<tr align=center>';
echo "<td>$row[0]</td><td>$row[1]</td><td>$row[2]</td>";
echo '</tr>';
}//使用while循环显示表格
?>
</table>
</form>
</body>
</html>
备注:
前期安装完成这一步时,我认为已经完成了,但是写代码时出现了错误提示:ODBC Driver 17 for SQL Server。一开始提示的不是这个错误,提示的是undefined未知错误,这样无法判断错误,需要抛出异常看具体错误原因。抛出异常代码如下,具体写在哪里在具体代码说明。(如果没有出现这个错误就没问题,并不是所有都会有错,我在另一台电脑配置环境的时候就没有遇到这个问题)
4、下载ODBC driver并安装(若代码无报错,不必理会这一步)。
由于我提示的是ODBC Driver 17 ,所以我下载的是版本17的ODBC Driver。
(1)下载路径
Download ODBC Driver for SQL Server - ODBC Driver for SQL Server | Microsoft Learn
(2)安装ODBC driver。
双击即可安装,一直按照默认安装即可。