Je veux utiliser PHP pour me connecter à la database du server SQL.
J'ai installé xampp 1.7.0 (php 5.2) et SQLSRV20. J'ai ajouté les extensions dans php.ini
et j'ai cette erreur:
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
Code:
<?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"); ?>
Que signifie ce message d'erreur et comment me connecter à SQL Server?
activer mssql dans php.ini
;extension=php_mssql.dll
à
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); ?>
http://robsphp.blogspot.ae/2012/09/how-to-install-microsofts-sql-server.html
Essayez ce code
$serverName = "serverName\sqlexpress"; //serverName\instanceName $connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password"); $conn = sqlsrv_connect( $serverName, $connectionInfo);
Si vous utilisez sqlsrv_connect, vous devez download et installer le pilote MS SQL pour votre php. Téléchargez-le ici http://www.microsoft.com/en-us/download/details.aspx?id=20098 extrayez-le dans votre dossier php ou ext dans le dossier xampp puis ajoutez ceci à la fin de la ligne dans votre php. file ini
extension=php_pdo_sqlsrv_55_ts.dll extension=php_sqlsrv_55_ts.dll
Im en utilisant xampp version 5.5 de sorte que son nom php_pdo_sqlsrv_55_ts.dll & php_sqlsrv_55_ts.dll
si vous utilisez xampp version 5.5 files dll n'est pas inclus dans le lien … espérons que cela aide
Utilisez localhost
au lieu de votre adresse IP.
par exemple,
$myServer = "localhost";
Et vérifiez également votre nom d'user et votre mot de passe mysql.
pour plus d'investigations: imprimez le message d'erreur mssql:
$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Could not connect to database: ".mssql_get_last_message());
Il est également important de spécifier le port: Sur MS SQL Server 2000, séparez-le par une virgule:
$myServer = "10.85.80.229:1443";
ou
$myServer = "10.85.80.229,1443";
J'ai eu le même problème (enfin j'espère que c'est pareil). Quoi qu'il en soit, il s'est avéré être ma version de ntwdblib.dll, qui était obsolète dans mon dossier PHP.
http://dba.fyicenter.com/faq/sql_server_2/Finding_ntwdblib_dll_Version_2000_80_194_0.html
Pour le code suivant, vous devez activer mssql dans php.ini comme décrit sur ce lien: http://www.php.net/manual/fr/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()); }
$dbhandle = sqlsrv_connect($myServer, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myServer");
J'espère que ça aide.
$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->setAtsortingbute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $e->getMessage(); }
Essaye celui-là :
$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";