我使用的是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
澄清:
示例代码如下:
$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;
}用什么代替???????来获取连接错误消息?
发布于 2022-11-05 08:56:48
//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);发布于 2014-05-01 10:54:48
见下文
<?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
https://stackoverflow.com/questions/23405791
复制相似问题