两种途径:
1、直接连接
$servname="captainhero567"
$conninfo=array(
"database"=>"netdata",
"uid"=>"lxz2005",
"pwd"=>"831140")
$conn=sqlsrv_connect($servname,
$conninfo)
$sql="select
*
from
pinfo"
$db=sqlsrv_query($conn,
$sql)
while($row=sqlsrv_fetch_array($db))
{
echo("
".iconv("gb2312","utf-8",$row["pname"])."
")
}
2、使用pdo抽象数据层连接
$hostname
=
"192.168.1.100"
$dbname
=
"northwind"
$username
=
"sa"
$pwd
=
"pwd100"
$dsn="sqlsrv:server=$hostnamedatabase=$dbname"
$conn
=
new
pdo
($dsn,$username,$pwd)
$conn->setattribute(pdo::attr_errmode,pdo::errmode_exception)
echo
"mssql
database
connnection
sucessed!"
版本的选择是依据php版本决定的,具体如下:
一、php5.3以下的版本连接sql server
5.3以下的版本扩展里面自带一个php_mssql.dll;接数据库的扩展,可以利用这个扩展链接数据库,(只限于链接低版本数据库)。
具体的步骤如下:
1:首先安装sql server,超级不好安装,我之前安装的是2008版本的,Windows过期后就不能用了,然后重装还装不上,最后重装系统才装上
2:确定SQL装的时候用的是混合认证模式,或SQL验证模式,然后打开php的配置文件(php.ini),开启mssql扩展 (extension=php_pdo_mssql.dll前面的分号去掉)并且需要把mssql.secure_connection = On 重启后生效。
如果比较顺利的话已经可以连接数据库了,如果连不上就需要继续低下的配置:
3: 检查ntwdblib文件的版本(php/下面和Apache/下面)下载正确的版本的 ntwdblib.dll(2000.80.194.0)覆盖现有的DLL文件,(把ntwdblib.dll,php_mssql.dll 复制到system32目录中也可以)ntwdblib.dll 用于PHP连接MSSQL2005或2008的驱动文件。
4:测试连接:mssql_connect('localhost,1433', '用户名', '密码')
二、php5.3+连接sql server
其 实5.3以下的php版本已经很少用了,况且安全性和兼容性都不好,所以高版本的php还是比较常见的。实践证明低版本的php连接数据库成功率比较低 (2005以上的版本几乎不能使用),推荐使用php5.3+ php使用微软专门的扩展 SQLSRV 来连接sqlserver数据库
步骤如下:
1:先到微软网站下载 SQL Server Driver for PHP 是一个自解压的 EXE文件,解压缩后你会得到这么几个文件:
其中的52、53表示就是php的5.2.x和5.3.x 版本,选择跟你php版本相匹配的;vc6或vc9的选择要看你使用的是什么web服务器软件,如果使用的是IIS那就选择vc9的,如果是Apache 则选择vc6的,ts和nts的选择要看你安装的php版本是线程安全版的还是非线程安全版,ts是线程安全,nts是非线程安全。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)