Ik wil PHP gebruiken om verbinding te maken met SQL Server-database.
Ik heb XAMPP 1.7.0 (PHP 5.2) en SQLSRV20 geïnstalleerd. Ik heb de extensies toegevoegd in php.ini
en ik krijg deze foutmelding:
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");
?>
Wat betekent dit foutbericht en hoe kan ik verbinding maken met SQL Server?
1, Autoriteit 100%
Schakel MSSQL in PHP.INI
;extension=php_mssql.dll
Naar
extension=php_mssql.dll
2, Autoriteit 83%
<?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/hoe-te-installeren-microsofts-sql-server.html
Antwoord 3, autoriteit 17%
Probeer deze code
$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
Antwoord 4, autoriteit 17%
als je sqlsrv_connect gebruikt, moet je het MS sql-stuurprogramma voor je php downloaden en installeren. download het hier http://www.microsoft.com/en- us/download/details.aspx?id=20098
pak het uit in je php-map of ext in de xampp-map
voeg dit dan toe aan het einde van de regel in je php.ini-bestand
extension=php_pdo_sqlsrv_55_ts.dll
extension=php_sqlsrv_55_ts.dll
ik gebruik xampp versie 5.5, dus de naam php_pdo_sqlsrv_55_ts.dll & php_sqlsrv_55_ts.dll
als je xampp versie 5.5 gebruikt, zijn dll-bestanden niet opgenomen in de link…hoop dat het helpt
Antwoord 5, autoriteit 8%
Gebruik localhost
in plaats van je IP-adres.
bijv.
$myServer = "localhost";
en controleer ook uw MySQL-gebruikersnaam en wachtwoord.
6, Autoriteit 8%
Voor verder onderzoek: print het MSSQL-foutbericht:
$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Could not connect to database: ".mssql_get_last_message());
Het is ook belangrijk om de poort op te geven: op MS SQL Server 2000, scheid deze met een komma:
$myServer = "10.85.80.229:1443";
of
$myServer = "10.85.80.229,1443";
7, Autoriteit 8%
$dbhandle = sqlsrv_connect($myServer, $myUser, $myPass)
or die("Couldn't connect to SQL Server on $myServer");
Ik hoop dat het helpt.
8, Autoriteit 8%
$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();
}
9, Autoriteit 8%
- Eerste download onderstaande software
https://www.microsoft.com/en-us/ Download / details.aspx? ID = 30679 – moet
installeren
https://www.microsoft.com/en -US / DOWNLOAD / DETAILS.APX? ID = 20098 – Wanneer u deze software uitvoert. Het zal DLL-bestand extraheren.
en plak twee DLL-bestand (PHP_PDO_SQLSRV_55_TS.DLL, Extension = PHP_SQLSRV_55_TS.DLL) Deze locatie C: \ Wamp \ bin \ PHP \ PHP5.6.40 \ EXT \ (pls Zorg voor uw huidige versie)
2) Bewerk Php.ini-bestand
Voeg hieronder toe
extensie = php_pdo_sqlsrv_55_ts.dll
extensie = php_sqlsrv_55_ts.dll
Raadpleeg Screenshort
DLL toevoegen in uw PHP.INI-bestand
10, Autoriteit 8%
MS SQL Sluit verbinding met PHP
-
Installeer het station van Microsoft Link
https://www.microsoft.com/en-us/ Download / Details.aspx? ID = 20098 -
Na installatie krijgt u een aantal bestanden. Bewaar het in uw map System Temp
-
Controleer uw PHP-versie, draad of niet-draad en vensterbit – 32 of 64
(Thread of Non Thread, dit krijgt u door PHPINFO ()) -
Volgens uw System & AMP; XAMPP-configratie (PHP-versie en alle) kopieer 2 bestanden (PHP_SQLSRV & AMP; PHP_PDO_SQLSRV) naar XAMPP / PHP / EXT-map.
-
Toevoegen aan PHP.INI-bestand
Extension = PHP_SQLSRV_72_TS_X64 (PHP_SQLSRV_72_TS_X64.DLL is uw bestand dat uw exemplaar in 4e stap) is)
Extension = PHP_PDO_SQLSRV_72_TS_X64 (PHP_PDO_SQLSRV_72_TS_X64.DLL is uw bestand dat uw kopie in 4e stap) -
Volgende PHP-code
$ SERVERNAME = “Desktop-Me \ MSSQLSERVER01”; (Servername \ Instancename)
// Sinds UID en PWD zijn niet gespecificeerd in de ARRAY van $ ConnectionInfo,
// De verbinding wordt geprobeerd met behulp van Windows-authentication.$connectionInfo = array(“Database”=>”testdb”,”CharacterSet”=>”UTF-8″);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
//echo “Verbinding tot stand gebracht.
“;
}anders{
echo “Verbinding kon niet tot stand worden gebracht.
“;
die( print_r( sqlsrv_errors(), true));
}//$sql = “INSERT INTO dbo.master (‘name’) VALUES (‘test’)”;
$sql = “SELECTEER * VAN dbo.master”;
$stmt = sqlsrv_query( $conn, $sql);terwijl ($row = sqlsrv_fetch_array ($stmt, SQLSRV_FETCH_ASSOC)) {
echo $row[‘id’].”, “.$row[‘name’].”
“;
}sqlsrv_free_stmt( $stmt);
Antwoord 11
Voor de volgende code moet je mssql inschakelen in de php.ini zoals beschreven op deze 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());
}
Antwoord 12
$serverName="ServerName";
$uid = 'sa';
$pwd = "password";
$dbase = "dbname";
$conninfro = array("Database"=>$dbase, "UID"=>$uid, "PWD"=>$pwd);
$con = sqlsrv_connect( $serverName, $conninfro);
if( $con === false){
die( print_r( sqlsrv_errors(), true));
}
13
Probeer dit om de gooide uitzondering te kunnen vangen:
$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();
}