Como usar o PHP para se ligar ao servidor sql

quero usar o PHP para me ligar à base de dados do servidor sql.

instalei o xampp 1, 7, 0 (php 5, 2) e o SQLSRV20. Adicionei as extensões em php.ini e tenho este erro:

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

Código:

<?php
$myServer = "10.85.80.229";
$myUser = "root";
$myPass = "pass";
$myDB = "testdb";

$dbhandle = mssql_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer"); 
?>

o que significa esta mensagem de erro e como me conecto ao servidor SQL?

Author: Eric Leschinski, 2013-09-05

11 answers

Activar o mssql em php.ini

;extension=php_mssql.dll

A

extension=php_mssql.dll

 7
Author: Agha Umair Ahmed, 2014-04-10 09:42:17
<?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);  
?>  

Http://robsphp.blogspot.ae/2012/09/how-to-install-microsofts-sql-server.html

 4
Author: Harikris, 2014-12-21 08:20:42

Tenta este código

$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
 1
Author: Guru, 2014-03-31 19:24:22

Se estiver a usar o sqlsrv_ connect, terá de transferir e instalar o controlador de MS sql para o seu php. faça o download aqui http://www.microsoft.com/en-us/download/details.aspx?id=20098 extraí - lo para a sua pasta php ou ext na pasta xampp em seguida, adicione isso no final da linha em seu php.ficheiro ini

extension=php_pdo_sqlsrv_55_ts.dll
extension=php_sqlsrv_55_ts.dll

Estou a usar a versão 5. 5 do xampp, por isso o seu nome php_ pdo_ sqlsrv_55_ts.dll & php_ sqlsrv_55_ts.dll

Se estiver a utilizar ficheiros xampp versão 5. 5 dll não está incluído no link...espero que ajude.

 1
Author: user3389579, 2016-05-04 10:30:34

Utilize localhost em vez do seu endereço IP.

E. g,

$myServer = "localhost";

E verifique também o seu nome de utilizador e senha mysql.

 0
Author: Manish Chauhan, 2013-09-05 09:32:06

Para mais investigação: imprime a mensagem de erro mssql:

$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Could not connect to database: ".mssql_get_last_message()); 

Também é importante especificar o porto: no MS SQL Server 2000, separe-o com uma vírgula:

$myServer = "10.85.80.229:1443";

Ou

$myServer = "10.85.80.229,1443";
 0
Author: Pascal Fischer, 2013-09-05 09:41:04

Tenho tido o mesmo problema (bem, espero que o mesmo). De qualquer forma, acabou por ser a minha versão do ntwdblib.dll, que estava desactualizado na minha pasta PHP.

Http://dba.fyicenter.com/faq/sql_server_2/Finding_ntwdblib_dll_Version_2000_80_194_0.html

 0
Author: Dean Anderson, 2014-01-03 11:28:38

Para o seguinte código, tem de activar o mssql no php.tal como descrito neste link: http://www.php.net/manual/en/mssql.installation.php

$myServer = "10.85.80.229";
$myUser = "root";
$myPass = "pass";
$myDB = "testdb";

$conn = mssql_connect($myServer,$myUser,$myPass);
if (!$conn)
{ 
  die('Not connected : ' . mssql_get_last_message());
} 
$db_selected = mssql_select_db($myDB, $conn);
if (!$db_selected) 
{
  die ('Can\'t use db : ' . mssql_get_last_message());
} 
 0
Author: chirag ode, 2014-03-31 19:43:02
$dbhandle = sqlsrv_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer"); 
Espero que ajude.
 0
Author: nimesh, 2016-01-27 07:05:49
 $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();

}
 0
Author: hassan javaid, 2017-05-02 09:06:58
Tenta este.
$servername = "10.85.80.229";
$username = "root";
$password = "pass";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
 -6
Author: Ameer Abbas, 2017-03-30 10:42:41