Hoe PHP PHP gebruiken om verbinding te maken met SQL Server

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.inien 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 localhostin 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%

  1. Eerste download onderstaande software
    https://www.microsoft.com/en-us/ Download / details.aspx? ID = 30679 – moet
  2. 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

  1. Installeer het station van Microsoft Link
    https://www.microsoft.com/en-us/ Download / Details.aspx? ID = 20098

  2. Na installatie krijgt u een aantal bestanden. Bewaar het in uw map System Temp

  3. Controleer uw PHP-versie, draad of niet-draad en vensterbit – 32 of 64
    (Thread of Non Thread, dit krijgt u door PHPINFO ())

  4. Volgens uw System & AMP; XAMPP-configratie (PHP-versie en alle) kopieer 2 bestanden (PHP_SQLSRV & AMP; PHP_PDO_SQLSRV) naar XAMPP / PHP / EXT-map.

  5. 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)

  6. 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();
}

Other episodes