Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP连接到sql server_Php_Sql_Sql Server_Database Connection - Fatal编程技术网

如何使用PHP连接到sql server

如何使用PHP连接到sql server,php,sql,sql-server,database-connection,Php,Sql,Sql Server,Database Connection,我想使用PHP连接到sql server数据库 我安装了XAMPP1.7.0(PHP5.2)和SQLSRV20。我在php.ini中添加了扩展,出现以下错误: Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 10.85.80.229 in C:\xampp\htdocs\xampp\test.php on line 07 代码: 使用localhost而不是您的IP地址 e、 g,

我想使用PHP连接到sql server数据库

我安装了XAMPP1.7.0(PHP5.2)和SQLSRV20。我在
php.ini
中添加了扩展,出现以下错误:

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to 
server: 10.85.80.229 in C:\xampp\htdocs\xampp\test.php on line 07
代码:


使用
localhost
而不是您的IP地址

e、 g,


并再次检查您的mysql用户名和密码。

进一步调查:打印mssql错误消息:

$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Could not connect to database: ".mssql_get_last_message()); 
指定端口也很重要:在MS SQL Server 2000上,用逗号分隔端口:

$myServer = "10.85.80.229:1443";


对于以下代码,必须在php.ini中启用mssql,如本链接所述:

试试这个代码

$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

我一直有同样的问题(我希望也是这样)。不管怎么说,它原来是我的ntwdblib.dll版本,在我的PHP文件夹中已经过时了


如果您使用sqlsrv\u connect,则必须下载并安装适用于php的MS sql驱动程序。在这里下载 将其解压缩到php文件夹或xampp文件夹中的ext 然后将其添加到php.ini文件的行末尾

extension=php_pdo_sqlsrv_55_ts.dll
extension=php_sqlsrv_55_ts.dll
我使用的是xampp版本5.5,所以它的名字是php_pdo_sqlsrv_55_ts.dll&php_sqlsrv_55_ts.dll


如果您使用的是xampp 5.5版本的dll文件,则链接中不包含这些文件…希望它有助于在php.ini中启用mssql

;extension=php_mssql.dll

<?php  
$serverName = "ServerName"; 
$uid = "sqlusername";   
$pwd = "sqlpassword";  
$databaseName = "DBName"; 

$connectionInfo = array( "UID"=>$uid,                            
                         "PWD"=>$pwd,                            
                         "Database"=>$databaseName); 

/* Connect using SQL Server Authentication. */  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  

$tsql = "SELECT id, FirstName, LastName, Email FROM tblContact";  

/* Execute the query. */  

$stmt = sqlsrv_query( $conn, $tsql);  

if ( $stmt )  
{  
     echo "Statement executed.<br>\n";  
}   
else   
{  
     echo "Error in statement execution.\n";  
     die( print_r( sqlsrv_errors(), true));  
}  

/* Iterate through the result set printing a row of data upon each iteration.*/  

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))  
{  
     echo "Col1: ".$row[0]."\n";  
     echo "Col2: ".$row[1]."\n";  
     echo "Col3: ".$row[2]."<br>\n";  
     echo "-----------------<br>\n";  
}  

/* Free statement and connection resources. */  
sqlsrv_free_stmt( $stmt);  
sqlsrv_close( $conn);  
?>  

extension=php\u mssql.dll


<?php  
$serverName = "ServerName"; 
$uid = "sqlusername";   
$pwd = "sqlpassword";  
$databaseName = "DBName"; 

$connectionInfo = array( "UID"=>$uid,                            
                         "PWD"=>$pwd,                            
                         "Database"=>$databaseName); 

/* Connect using SQL Server Authentication. */  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  

$tsql = "SELECT id, FirstName, LastName, Email FROM tblContact";  

/* Execute the query. */  

$stmt = sqlsrv_query( $conn, $tsql);  

if ( $stmt )  
{  
     echo "Statement executed.<br>\n";  
}   
else   
{  
     echo "Error in statement execution.\n";  
     die( print_r( sqlsrv_errors(), true));  
}  

/* Iterate through the result set printing a row of data upon each iteration.*/  

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))  
{  
     echo "Col1: ".$row[0]."\n";  
     echo "Col2: ".$row[1]."\n";  
     echo "Col3: ".$row[2]."<br>\n";  
     echo "-----------------<br>\n";  
}  

/* Free statement and connection resources. */  
sqlsrv_free_stmt( $stmt);  
sqlsrv_close( $conn);  
?>  


希望它能有所帮助。

尝试以下方法以捕获抛出的异常:

 $server_name = "your server name";
 $database_name = "your database name";
 try
  {
   $conn = new PDO("sqlsrv:Server=$server_name;Database=$database_name;ConnectionPooling=0", "user_name", "password");
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

}
catch(PDOException $e)
{

    $e->getMessage();

}
$server_name = "your server name";
$database_name = "your database name";
try {
   $conn = new PDO("sqlsrv:Server=$server_name;Database=$database_name;ConnectionPooling=0", "user_name", "password");
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    $e->getMessage();
}
  • 首先下载下面的软件 -需要安装
  • -当您运行此软件时。它将提取dll文件。 并将两个dll文件(php_pdo_sqlsrv_55_ts.dll,扩展名=php_sqlsrv_55_ts.dll)粘贴到C:\wamp\bin\php\php5.6.40\ext\(请确保您的当前版本)

    2) 编辑php.ini文件 在下面一行添加 扩展名=php_pdo_sqlsrv_55_ts.dll extension=php\u sqlsrv\u 55\u ts.dll

    请参阅短片 MS SQL连接到php

  • 从microsoft link安装驱动器

  • 安装后,您将获得一些文件。将其存储在系统临时文件夹中

  • 检查php版本、线程或非线程以及窗口位32或64 (线程或非线程,这是phpinfo()提供的)

  • 根据您的系统和xampp配置(php版本和全部),将2个文件(php_sqlsrv和php_pdo_sqlsrv)复制到xampp/php/ext文件夹

  • 添加到php.ini文件 extension=php_sqlsrv_72_ts_x64(php_sqlsrv_72_ts_x64.dll是您在第4步中复制的文件) 扩展名=php_pdo_sqlsrv_72_ts_x64(php_pdo_sqlsrv_72_ts_x64.dll是您在第4步中复制的文件)

  • 下一个Php代码

    $serverName=“桌面me\MSSQLSERVER01”;(服务器名\实例名)

    //由于$connectionInfo数组中未指定UID和PWD, //将使用Windows身份验证尝试连接

    $connectionInfo=array(“数据库”=>“testdb”、“字符集”=>“UTF-8”)

    $conn=sqlsrv_connect($serverName,$connectionInfo)

    如果($conn){ //回显“已建立连接。
    ”; }否则{ echo“无法建立连接。
    ”; 模具(打印错误(sqlsrv_errors(),true)); }

    //$sql=“插入dbo.master('name')值('test')”; $sql=“从dbo.master中选择*”; $stmt=sqlsrv_查询($conn,$sql)

    而($row=sqlsrv\u fetch\u数组($stmt,sqlsrv\u fetch\u ASSOC)){ echo$row['id'].“,”$row['name'.“
    ”; }

    sqlsrv_free_stmt($stmt)


  • 试试$myServer=“localhost”;你确定mysql服务器正在运行吗?我想连接到mssql ie sql server。我已经运行了xampp(mysql,apache),我也尝试过使用localhost,还添加了端口。但是,为了不调用第4行C:\xampp\htdocs\xampp\test.php中未定义的函数sqlsrv_connect(),不使用PDO如何?仅使用PDO,您就可以将php与sql server连接起来。否则你必须使用mysql。谢谢hassan。我试过这个,它在我的案例中起了作用。简单有效。谢谢你。谢谢
    <?php  
    $serverName = "ServerName"; 
    $uid = "sqlusername";   
    $pwd = "sqlpassword";  
    $databaseName = "DBName"; 
    
    $connectionInfo = array( "UID"=>$uid,                            
                             "PWD"=>$pwd,                            
                             "Database"=>$databaseName); 
    
    /* Connect using SQL Server Authentication. */  
    $conn = sqlsrv_connect( $serverName, $connectionInfo);  
    
    $tsql = "SELECT id, FirstName, LastName, Email FROM tblContact";  
    
    /* Execute the query. */  
    
    $stmt = sqlsrv_query( $conn, $tsql);  
    
    if ( $stmt )  
    {  
         echo "Statement executed.<br>\n";  
    }   
    else   
    {  
         echo "Error in statement execution.\n";  
         die( print_r( sqlsrv_errors(), true));  
    }  
    
    /* Iterate through the result set printing a row of data upon each iteration.*/  
    
    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))  
    {  
         echo "Col1: ".$row[0]."\n";  
         echo "Col2: ".$row[1]."\n";  
         echo "Col3: ".$row[2]."<br>\n";  
         echo "-----------------<br>\n";  
    }  
    
    /* Free statement and connection resources. */  
    sqlsrv_free_stmt( $stmt);  
    sqlsrv_close( $conn);  
    ?>  
    
    $dbhandle = sqlsrv_connect($myServer, $myUser, $myPass)
      or die("Couldn't connect to SQL Server on $myServer"); 
    
     $server_name = "your server name";
     $database_name = "your database name";
     try
      {
       $conn = new PDO("sqlsrv:Server=$server_name;Database=$database_name;ConnectionPooling=0", "user_name", "password");
       $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    }
    catch(PDOException $e)
    {
    
        $e->getMessage();
    
    }
    
    $server_name = "your server name";
    $database_name = "your database name";
    try {
       $conn = new PDO("sqlsrv:Server=$server_name;Database=$database_name;ConnectionPooling=0", "user_name", "password");
       $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
        $e->getMessage();
    }