PHP读取sqlserver数据并显示在html界面

        上一篇说到把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。

双击即可安装,一直按照默认安装即可。

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值