php连接sqlserver出错怎么办

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php连接sqlserver出错怎么办?

关于php连接sqlserver的问题

php连接sqlserver2000应该注意的几点

配置php

a、打开php.in将 extension=php_mssql.dll的注释符号去掉。

b、打开php.in,如果你的程序和数据库在同一台服务器上请将mssql.secure_connection = Off改为on,如果分别在两台服务器上请改为off,不然会报"用户(Null)登录失败"之类的错误。

c、将php_mssql.dll拷贝到php.in中extension_dir 指定的目录或者系统system32目录下。(php_mssql.dll在php的压缩安装包中有)。

注意ntwdblib.dll文件

a.在装有sqlserver2000的服务器的系统system32目录下找到ntwdblib.dll文件,通过属性查看它的版本,然后以这个为标准将程序服务器php目录下的相应文件覆盖。

b.还需要将apache2/bin下的相应文件也要覆盖!(很多人连不上就是因为没有注意到这步,我也是)

以上步骤完成后需要重启apache。

注意:实际使用中发现 如果通过php压缩文件手工安装php到iis下,必须重启机器而不仅仅是iis。

配置 sqlserver

a. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols

b. 允许命名管道 "named pipes" 和 "tcp/ip"

c. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses"

d. 在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433

e. 重启 SQL Server

-------------------------------------------------- ---------------------------------------------

使用以下方式连接MS SQL Server 2005:

代码如下:

<?php
//链接数据库
$conn=mssql_connect('localhost','sa','123456');
mssql_select_db('gu_dde',$conn);
//query语句
$Query="select * from dde_top";
$AdminResult=mssql_query($Query);
//输出结果
$Num=mssql_num_rows($AdminResult);
for($i=0;$i<$Num;$i++)
{
$Row=mssql_fetch_array($AdminResult);
echo($Row[1]);
echo("<br/>");
}
?>

可 以看到这些函数和Mysql的函数都是对应的使用起来很方便!

-------------------------------------------------- ---------------------

FAQ常见问题:

1报错:

Fatal error: Call to undefined function mssql_connect()

解决:

使用MSSQL_系列函数

要使用这两种都 需要在php.ini进行设定:

(1)允许 DCOM,需要将php.ini中的 ;com.allow_dcom=TRUE前的分号";"去掉。

(2)使用MSSQL扩展,需要php.ini中的 ;extension=php_mssql.dll前的分号";"去掉。(关键)

(3)确认extension_dir为正确路径,以本机为 例:extension_dir = "c:\AppServ\php5\ext"。

(4)如果仍然机器报错说找不到c:\AppServ \php5\ext\php_mssql.dll但明明存在这个文件。

解决方法:将php_mssql.dll,ntwdblib.dll拷 贝到系统目录\system32下重启测试。。

(注:上面两个dll文件不在相同目录下,我的为c:\AppServ\php5\ext \php_mssql.dll;c:\AppServ\php5\ntwdblib.dll)

还有将ntwdblib.dll拷贝到apache2/bin/目录下!

另外设置好了后记得重启服务器哦。

其他问题:

如果php apache Sql Server2000都在同一台机器上,访问基本没有问题了。

如果Sql Server2000和php机器是分离的,需要确认ping sqlserver所在机器的机器名能通,如过不通,修改php所在机器的\system32\drivers\etc下的hosts文件,增加一行 sqlserver所在机器的机器ip sqlserver所在机器的机器名字。

如果还是无法访问,需要确认php所在的机器有无暗转 mdac。要不索性安装一下sqlserver的客户端好了。

--结束END--

本文标题: php连接sqlserver出错怎么办

本文链接: https://www.lsjlt.com/news/305.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php连接sqlserver出错怎么办

    php连接sqlserver出错的解决办法:1、打开php.in并将extension=php_mssql.dll的注释符号去掉;2、找到ntwdblib.dll文件;3、运行SQL Server配置管理器并设置端口即可。
    阅读数:715 php sqlserver
  • PHP出错 warning怎么办

    PHP出错warning的解决办法:1、在警告的页面中添加“error_reporting(E_ALL ^ E_DEPRECATED);”;2、修改php.ini文件屏蔽出错。
    阅读数:809 PHP warning
  • php split出错怎么办

    php split出错的解决办法:1、若是需要regex的split,则使用“preg_split()”函数代替;2、若是不需要reaex,只要快速分割固定的字串,使用“explode()”代替即可。
    阅读数:642 php
  • php 加密后出错怎么办

    php加密后出错的解决办法:1、修改内容为“$where .= " AND o.order_status = '".$filter[composite_status]."' ";”;2、设置成不加密即可。
    阅读数:271 php 加密
  • php连接mssql失败怎么办

    php连接mssql失败的解决办法:1、在php.ini文件中找到extension=php_mssql.dll并去掉前面的分号;2、把php_mssql.dll文件复制到“c:/windows/system32/”目录下;3、重启iis。
    阅读数:213 php mssql
  • php 连接 oracle 乱码怎么办

    php连接oracle乱码的解决办法:1、通过运行“select * from V$NLS_PARAMETERS;”命令来获取oracle的字符集;2、修改变量“NLS_CHARACTERSET”为对应的字符集;3、将本地的PHP文件统一设置为utf-8即可。
    阅读数:764 oracle php
  • linux php连接mysql权限不够怎么办

    linux php连接mysql权限不够的解决办法:1、通过使用grant命令给普通数据用户授予查询,插入等权限;2、通过grant给数据库开发人员授予创建表和索引等权限即可。
    阅读数:143 linux php mysql
  • PHP无法通过localhost成功连接mysql怎么办

    下面一起来了解下PHP无法通过localhost成功连接mysql怎么办,相信大家看完肯定会受益匪浅,文字在精不在多,希望PHP无法通过localhost成功连接mysql怎么办这篇短内容是你想要的。首先搞清楚mysql之连接localho
    阅读数:765 mysql st localhsot
  • php7连接mysql失败怎么办

    php7连接mysql失败是因为php7已经摒弃了mysql_connect函数,其解决办法:1、使用mysqli_connect()函数连接;2、使用面向对象的方法连接mysql。
    阅读数:771 php7
  • php png 失真怎么办

    php png失真的解决办法:1、创建一个PHP示例文件;2、创建一个和背景图片一样大小的真彩色画布;3、复制背景图片;4、通过“imagecreatefrompng”合成png图片即可。
    阅读数:137 php png
  • php查询失败怎么办

    php查询失败的解决办法:1、使用函数“mysql_select_db('demo');”选择查询数据库;2、给mysql_query添加一个数据库资源连接符。
    阅读数:585 php
  • php include不行怎么办

    php include不行的解决办法:1、用ftp修改整个目录的权限;2、修改编码;3、将“include("xxxx")”改为匹配的大小写即可。
    阅读数:309 php include
  • php htmlentities 乱码怎么办

    php htmlentities乱码的解决办法:1、使用“htmlentities($str,ENT_COMPAT,"GB2312")”;2、输出“htmlspecialchars($str)”。
    阅读数:150 php htmlentities
  • php use报错怎么办

    php use报错的解决办法:1、打开相应的代码文件;2、使用require引入文件;3、使用use引入命名空间文件即可。
    阅读数:364 php use
  • php setcookie 失效怎么办

    php setcookie失效的解决办法:1、浏览器开启cookie;2、删除在setcookie()之前的任何HTTP头部输出;3、使用php的setcookie()来创建cookie即可。
    阅读数:186 php setcookie
  • php注释乱码怎么办

    php注释乱码是因为页面编码不一致导致的,其解决办法就是在相应的PHP文件中添加“header("Content-Type: text/html; charset=utf-8");”代码即可。
    阅读数:936 php 注释
  • php gd 乱码怎么办

    php gd乱码的解决办法:1、通过“iconv('gb2312','utf-8','')”转换编码;2、调用imagettftext()函数输出中文字符串即可。
    阅读数:542 php gd
  • eclipse php乱码怎么办

    eclipse php乱码是因为编码不统一,其解决办法是:1、打开项目;2、打开属性;3、将文本文件编码改成UTF-8即可。
    阅读数:769 php 乱码
  • php ie乱码怎么办

    php ie乱码的解决办法:1、在网页head标签中设置“<meta http-equiv="Content-Type" content="text/html; charset=gb2312">”;2、在“.htaccess”中添加默认charset设定信息;3、用header设定返回数据的编码信息即可。
    阅读数:280 php 乱码
  • setcookie php 失效怎么办

    setcookie php失效的解决办法:1、打开相应的PHP文件;2、查看域名参数是否规范;3、通过全局变量来实现即可,代码如“foreach ($_COOKIE["cookie"] as $name => $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...”。
    阅读数:819 php setcookie