PHP如何连接mssql一个实例 10

项目要求连接到一个实例,如果只填127.0.0.1是可以的,但加上\abc就不行了,\abc是mssql的一个实例,项目要求一定要连接到一个实例,在PHP中如何指定实例,... 项目要求连接到一个实例,如果只填127.0.0.1是可以的,但加上\abc就不行了,\abc是mssql的一个实例,项目要求一定要连接到一个实例,在PHP中如何指定实例,PHP版本是5.4.5$serverName = "127.0.0.1\abc";$connectionInfo = array( "Database"=>"test", "UID"=>"sa", "PWD"=>"123456");$conn = sqlsrv_connect( $serverName, $connectionInfo );if( $conn === false ) {die( print_r( sqlsrv_errors(), true));} 展开
 我来答
greystar_cn
2019-01-13 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
数据库查询不外乎4个步骤,1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。 php连接mssql数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。
首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉,对应的使哪种方式连接mssql。注意要重启服务使其生效。
一、建立连接
1、odbc
首先,在php程序所在的服务器设置odbc。这里32位和64位操作系统有区别。32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:\Windows\SysWOW64\odbcad32.exe
从这里面设置。注意:上面只的是数据库服务器为32为的,数据源设置服务器为32位和64位两种的情况。只要两个服务器建立的数据源位数一致就好。
下面是odbc建立连接代码。
复制代码 代码如下:

$con = odbc_connect('odbc名称','用户名','密码');

2、连接mssql2000
复制代码 代码如下:

$con = mssql_connect('数据库地址','用户名','密码');
3、连接mssql2008
复制代码 代码如下:

$connectionInfo = array("UID"=>用户名,"PWD"=>密码,"Database"=>"数据库名称");
$con = sqlsrv_connect( 数据库地址,$connectionInfo);
二、输入查询代码
这个都一样,可以直接写入,也可以从mssql中验证好后复制过来。简单点说就是把一个sql语句赋值给一个变量。
类似下面代码
复制代码 代码如下:

$query = "SELECT top 12 * 数据库名称 order by id desc";

三、建立查询并取出数据
1、odbc
复制代码 代码如下:

$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
$变量名称 = odbc_result($result, "字段名称");
}

2、连接mssql2000
复制代码 代码如下:

$result = mssql_query($con, $query);
while($row =mssql_fetch_array($result))
{
$变量名称 = $row["字段名称"];
}

3、连接mssql2008
复制代码 代码如下:

$result = sqlsrv_query($con, $query);
while($row = sqlsrv_fetch_array($result))
{
$变量名称 = $row["字段名称"];
}

在php5.3及以后的版本中不附带sqlsrv库了。所以要从微软这里下载。
四、关闭连接
这个没有什么区别,分别是odbc_close();和mssql_close()和sqlsrv_close();
最后体会:php连接mssql比连接mssql的函数少了一些,但是也够用了。具体函数可以参考php官方手册
datouxiaoxu
2019-01-13 · TA获得超过1262个赞
知道小有建树答主
回答量:1022
采纳率:83%
帮助的人:481万
展开全部

你这样填参数是不对的啊,127.0.0.1是数据库所在的服务器域名或者ip,为什么要加上abc呢,你可以再确认一下,希望对你有帮助

更多追问追答
追问
abc是mssql的一个实例,项目要求一定要连接到一个实例
追答
是实例也是由多端口决定的啊,怎么会是一个abc的名称呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappcy3tv95eaedrf
2019-01-14 · TA获得超过2363个赞
知道大有可为答主
回答量:1909
采纳率:92%
帮助的人:1116万
展开全部

你的写法没问题,不过可以试试指定端口((local)\abc,1433)

另外 ,连接不上有错误信息吗?错误信息发出来看看

我试了下,php连接sqlsrv除了安装sqlsrv的扩展外还需要安装 odbc驱动 ,在微软sqlsrv for php  有介绍 ,根据你下载的 sqlsrv扩展版本安装 odbc驱动

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
学海无涯回头是案
高粉答主

2019-01-13 · 醉心答题,欢迎关注
知道大有可为答主
回答量:1.7万
采纳率:80%
帮助的人:834万
展开全部
只填127.0.0.1就可以了,这是服务器的ip地址,意思是本机
加abc做什么?
程序放在abc目录,这个连接也是填127.0.0.1就好,不用改
追问
abc是mssql的一个实例,项目要求一定要连接到一个实例
追答
array( "Database"=>"test", "UID"=>"sa", "PWD"=>"123456");

其中的test是数据库名称,你这个abc是数据库名称吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你好啊js
2019-01-13 · TA获得超过295个赞
知道小有建树答主
回答量:714
采纳率:75%
帮助的人:66.6万
展开全部
<?php
$host='127.0.0.1';
$user='root';
$password='root';
$dbName='php';
$link=new mysqli($host,$user,$password,$dbName);
if ($link->connect_error){
die("连接失败:".$link->connect_error);
}
$sql="select * from admins";
$res=$link->query($sql);
$data=$res->fetch_all();
var_dump($data);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式