首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP-如何知道为什么mssql_connect()不能工作?

问PHP-如何知道为什么mssql_connect()不能工作?
EN

Stack Overflow用户
提问于 2014-05-01 10:17:27
回答 2查看 7.6K关注 0票数 7

我使用的是PHP5.2,通常情况下mssql_connect工作正常,但是我尝试连接到一个新的MS服务器,它不会连接。在连接细节或凭据方面,我可能出了点问题,但我无法判断,因为我无法得到错误消息。

mssql_connect()方法返回false,并且没有可用的连接。

mssql_get_last_message()什么也不返回-那么我如何知道为什么我的连接失败?

有人有什么想法吗?

在MySQL中,我会使用mysql_error --但似乎没有与ms_sql相当的东西。

编辑

这个问题不是"CONNECT returns nothing - no error but no response either“的重复--我使用的是php5.2,其他连接细节的代码工作得很好。我需要弄清楚如何输出连接错误,而不是连接的问题所在。

EDIT2

澄清:

  • 在服务器上启用了扩展。
  • 对于现有的连接详细信息,代码工作正常。
  • 我正在使用新的连接详细信息,不知道主机名或密码是否错误
  • 我知道代码没有连接,因为我检查它是否连接
  • 我想找出连接错误-就像你可以用MySQL一样。

示例代码如下:

代码语言:javascript
复制
    $db_connection = mssql_connect($host, $user, $pass);

    $db = mssql_select_db($dbname, $db_connection);
    if (!$db_connection) {
        echo "No connection";
        echo "connection failed because: " . ???????;
        die;
    }

用什么代替???????来获取连接错误消息?

EN

回答 2

Stack Overflow用户

发布于 2022-11-05 08:56:48

代码语言:javascript
复制
//Database Connection by PDO (MS SQL Server, PHP)
$serverName='localhost';
$database='TreeDB';
$uid='sa';
$pwd='sa*5234';

$dbo = new PDO("sqlsrv:server=$serverName ; Database = $database;ConnectionPooling=0", $uid, $pwd);
//var_dump($dbo);

//Database Query
$sql = "SELECT  node.id, node.name, COUNT(parent.id) - 1 AS depth, node.lft, node.rgt 
FROM dbo.OrgTree AS node CROSS JOIN dbo.OrgTree AS parent
WHERE (node.lft BETWEEN parent.lft AND parent.rgt)
GROUP BY node.id, node.name, node.lft, node.rgt 
ORDER BY node.lft";

//Execute Query
$sql = $dbo->prepare($sql);
$sql->execute();

$qry = $sql->fetchAll();
foreach ($qry as $fetch) 
{
    $tree[] = $fetch;
}

//print_r($tree);
票数 -1
EN

Stack Overflow用户

发布于 2014-05-01 10:54:48

见下文

代码语言:javascript
复制
<?php
// Server in the this format: <computer>\<instance name> or 
// <server>,<port> when using a non default port number
$server = 'KALLESPC\SQLEXPRESS';

// Connect to MSSQL
$link = mssql_connect($server, 'sa', 'phpfi');

if (!$link) {
die('Something went wrong while connecting to MSSQL');
}
?>

这样,如果连接失败,就可以显示错误。

参考文献:http://www.php.net/manual/en/function.mssql-connect.php

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23405791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档