PHP怎样连接Sql Server数据库

时间:2021-08-01 20:00:45
我刚刚开始接触PHP,做到数据库连接这部分了。。几乎很多教程都是MySql的,我现在想连接Sql Server数据库,怎么连接呢。从网上找到的配置方法我都配置了。但是我的安装目录下面没有ntwdblib.dll这个文件。
代码如下:
<?php
$conn=@mssql_connect("localhost","zhengjie","123") or die("连接错误!");
mssql_select_db("学生信息管理");
if($conn)
{
echo "连接成功!";
}
?>
运行以后没有任何的提示……求帮助……谢谢

19 个解决方案

#1


把mssql_connect前的@去掉,看错误反馈。
用ODBC方式会比较方便。

#2


好问题,不会

#3


去了@以后是警告,不是错误……

#4


是什么警告?

#5


代码看不出问题,应该是配置有问题,你看看下面的步骤多做了吗?

1、打开PHP配置文件php.ini,找到;extension=php_mssql.dll把前面的分号去掉。

2、找到mssql.secure_connection = Off修改成 mssql.secure_connection = On。

3、把PHP文件夹下的php_mssql.dll和ntwdblib.DLL这两个文件拷贝到C:\windows\system32\文件夹下。

4、重启Apache,OK


#6


不用odbc 直接用php的方法,php.ini里开通一下 php_mssql.dll。因为默认是不开通的。

#7


现在流行pdo.

#8


PDO怎么用啊。。。5楼的方法我都做好了。不过我的PHP里面没有ntwdblib.DLL,是不是PHP的错误啊……

#9


你的php版本?

#10


1.首先你要确定你用"zhengjie","123"能登陆sql_server服务器(sql身份验证进去)
2.建议去直接去下载Wamp的版本(你自己配置环境可能用问题),里面可以直接开启PHP_MSSQL模块
至少我用这个从来不会连接不上
3.可以试着用COM连接
这里讲见怎么用COM连接
允许 DCOM,需要将php.ini中的 ;com.allow_dcom=TRUE前的分号";"去掉。

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
 
   $connstr = "Provider=SQLOLEDB;
               Persist Security Info=False;
               User ID=sa;
               Password=;
               Initial Catalog=cdr;
               Data Source=localhost";
   
   $conn->Open($connstr); 

#11


我用的就是wamp,PHP版本是5.3.3的,模块开启了。。但是不是连接不上,根本就没有任何的提示,他也不提示你连接上了,也不提示错误信息,气死了。。有高手的话留个QQ,加我帮帮我也行……602788658,谢谢了先……

#12


<?php
$conn=@mssql_connect("localhost\\MS2005","zhengjie","123") or die("连接错误!");
mssql_select_db("学生信息管理");
if($conn)
{
echo "连接成功!";
}
else
{
echo "连接错误!";
}
?>

#13


<?php
$conn=@mssql_connect("localhost\\MS2005","zhengjie","123") or die("连接错误!");
if($conn)
{
echo "连接成功!";
}
else
{
echo "连接错误!";
}
    echo "a";
?>

这样怎么A都不输出了,是不是我的代码有错误啊……

#14


应该是执行mssql_connect()时程序出错意外中止了
请去掉 @ 让它报出错误来

#15


引用 14 楼 dream1206 的回复:
应该是执行mssql_connect()时程序出错意外中止了
请去掉 @ 让它报出错误来


Fatal error: Call to undefined function mssql_connect() in E:\PHP\PHP\PHP\mysql\MySql1.php on line 2

#17


你的SQL SERVER是什么版本?如果是2005以上的版本,得安装官方的驱动
http://msdn.microsoft.com/zh-cn/library/cc296152%28v=SQL.90%29.aspx

#18


你用
mysql_error()
查一下错误信息

#19


真心难 我也搞了好久都不晓得怎么继续了。。。。。

#1


把mssql_connect前的@去掉,看错误反馈。
用ODBC方式会比较方便。

#2


好问题,不会

#3


去了@以后是警告,不是错误……

#4


是什么警告?

#5


代码看不出问题,应该是配置有问题,你看看下面的步骤多做了吗?

1、打开PHP配置文件php.ini,找到;extension=php_mssql.dll把前面的分号去掉。

2、找到mssql.secure_connection = Off修改成 mssql.secure_connection = On。

3、把PHP文件夹下的php_mssql.dll和ntwdblib.DLL这两个文件拷贝到C:\windows\system32\文件夹下。

4、重启Apache,OK


#6


不用odbc 直接用php的方法,php.ini里开通一下 php_mssql.dll。因为默认是不开通的。

#7


现在流行pdo.

#8


PDO怎么用啊。。。5楼的方法我都做好了。不过我的PHP里面没有ntwdblib.DLL,是不是PHP的错误啊……

#9


你的php版本?

#10


1.首先你要确定你用"zhengjie","123"能登陆sql_server服务器(sql身份验证进去)
2.建议去直接去下载Wamp的版本(你自己配置环境可能用问题),里面可以直接开启PHP_MSSQL模块
至少我用这个从来不会连接不上
3.可以试着用COM连接
这里讲见怎么用COM连接
允许 DCOM,需要将php.ini中的 ;com.allow_dcom=TRUE前的分号";"去掉。

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
 
   $connstr = "Provider=SQLOLEDB;
               Persist Security Info=False;
               User ID=sa;
               Password=;
               Initial Catalog=cdr;
               Data Source=localhost";
   
   $conn->Open($connstr); 

#11


我用的就是wamp,PHP版本是5.3.3的,模块开启了。。但是不是连接不上,根本就没有任何的提示,他也不提示你连接上了,也不提示错误信息,气死了。。有高手的话留个QQ,加我帮帮我也行……602788658,谢谢了先……

#12


<?php
$conn=@mssql_connect("localhost\\MS2005","zhengjie","123") or die("连接错误!");
mssql_select_db("学生信息管理");
if($conn)
{
echo "连接成功!";
}
else
{
echo "连接错误!";
}
?>

#13


<?php
$conn=@mssql_connect("localhost\\MS2005","zhengjie","123") or die("连接错误!");
if($conn)
{
echo "连接成功!";
}
else
{
echo "连接错误!";
}
    echo "a";
?>

这样怎么A都不输出了,是不是我的代码有错误啊……

#14


应该是执行mssql_connect()时程序出错意外中止了
请去掉 @ 让它报出错误来

#15


引用 14 楼 dream1206 的回复:
应该是执行mssql_connect()时程序出错意外中止了
请去掉 @ 让它报出错误来


Fatal error: Call to undefined function mssql_connect() in E:\PHP\PHP\PHP\mysql\MySql1.php on line 2

#16


#17


你的SQL SERVER是什么版本?如果是2005以上的版本,得安装官方的驱动
http://msdn.microsoft.com/zh-cn/library/cc296152%28v=SQL.90%29.aspx

#18


你用
mysql_error()
查一下错误信息

#19


真心难 我也搞了好久都不晓得怎么继续了。。。。。

#20