PHP7.*读取SQLsever2014数据库中的数据并显示到web页面

关于PHP读取数据库编程,网上好多都是PHP5.3之前的版本mssql,5.3之后的版本使用mssqli,但是需要另外安装mssqli扩展,扩展资源很难找到,官网上也是sqlsrv扩展库,本文使用PHP7.2+SQLsever2014+Apache编程,读取数据表格显示。
数据库登录账户名和密码在SQLsever->安全性 中设置,本文设置为aaa,123456,本机名可在数据库登录界面查看。
在SQLsever中建立表格如图:
在这里插入图片描述
在web中查询结果如下:
在这里插入图片描述
关于查询数据的格式化可以采用table来管理,在此不做处理。
关于读取结果中文乱码问题在代码中已解决。
具体代码如下:

    <?php 
header("content-Type: text/html; charset=utf-8");
echo("进入测试!</br>");
if (function_exists("mssql_connect")){
	echo 'PHP环境支持MSSQL!<br/>';
	}else{
	echo '环境不支持MSSQL数据库!</br>';
	}
	if (function_exists("sqlsrv_connect")){
		echo 'PHP环境支持SQLSRV!<br/>';
		}else{
		echo '环境不支持SQLsrv数据库!<br/>';
		}
$server_name = '你的本机名';
$connectionInfo = array( "Database"=>"你的数据库名", "UID"=>"aaa", "PWD"=>"123456");
$link = sqlsrv_connect( $server_name, $connectionInfo );	
if (!$link) {
	echo('连接数据库失败!</br>');
    die(print_r(sqlsrv_errors(),true));
}
else
{
	echo("连接到数据库 ");
}

$sql = "SELECT top 100 [UID]
,[MAJOR]
,[UNAME]
,[Password]
,[Alias]
,[Birth]
,[Sex]
,[Education]
,[Nota]
FROM [UserGroup].[dbo].[PersonGroup]";
 $params = array();
 $options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
 $stmt = sqlsrv_query( $link, $sql,$params,$options);//查找表
 if( $stmt == false) //输出错误信息
 {
	 echo('<br/>查找失败!</br>错误信息:');
    die( print_r( sqlsrv_errors(), true) );
 }
 else
 {
	 echo("<br/>进入SQLsever查询!<br/>");
	 $server_info = sqlsrv_server_info( $link);  
	if( $server_info )  
	{  
      foreach( $server_info as $key => $value)  
      {  
             echo $key.": ".$value."\n<tr/>";  
      }  
	}  
	else  
	{  
      echo "sever信息获取失败.\n<tr/>";  
      die( print_r( sqlsrv_errors(), true));  
	}  
}
 $row_count = sqlsrv_num_rows( $stmt );//计算查询结果的行数
 if ($row_count === false)
	echo "Error in retrieveing row count.";
 else
	echo("<br/>记录项");
	echo($row_count);

	/* 检索字段数. */  
$numFields = sqlsrv_num_fields( $stmt );  
echo("<br/>字段数");
echo($row_count);
echo("<br/>");
/*遍历结果集的每一行. */  
echo("UID    MAJOR   UNAME       Password      Alias         Birth       Sex        Education        Nota <br/>");
while( sqlsrv_fetch( $stmt ))  
{  
	echo("<br/>");
	 /* 遍历每行的字段。 */  
	 for($i = 0; $i < $numFields; $i++)  
     {  
		  $result = sqlsrv_get_field($stmt, $i,SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR))." "; 
		  $result = iconv('GB2312', 'UTF-8', $result);
		  echo($result);
		  //一个 SQLSRV 常量 (SQLSRV_PHPTYPE_*),可确定返回数据的 PHP 数据类型。 
     }  
     echo "\n<br/>";  
}  
	sqlsrv_free_stmt($stmt);//释放资源
	sqlsrv_close($link);//关闭资源
	
?>
发布了18 篇原创文章 · 获赞 10 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41135605/article/details/90648391
今日推荐