PHP via PDO connecten met remote MS SQL server

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bas hooff

bas hooff

20/10/2018 12:57:19
Quote Anchor link
Beste PHP'ers,

Ik maak gebruik van de onderstaande code / connection string om te verbinden met mijn MS SQL server.
dbnaam, user en ***** heb ik (uiteraard) correct ingevuld.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

$conn = new PDO("sqlsrv:Server=den1.mssql1.gear.host\\SQLEXPRESS;Database=dbnaam", "user", "****");
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

$sql = "SELECT * FROM gebruikers";

foreach ($conn->query($sql) as $row) {
    print_r($row);
}

?>


Output:

Fatal error: Invalid handle returned. in C:\home\site\wwwroot\index.php on line 6
 
PHP hulp

PHP hulp

25/04/2024 10:51:54
 
Thomas van den Heuvel

Thomas van den Heuvel

20/10/2018 14:11:24
Quote Anchor link
Als je deze foutmelding ("Fatal error: Invalid handle returned") in de Goegel gooit geeft het eerste resultaat al een aantal suggesties.
 
Bas hooff

bas hooff

21/10/2018 10:40:12
Quote Anchor link
Bedankt. In het topic stond een verwijzing naar Github waarbij de juiste source beschikbaar was. Het ziet er als volgt uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

$serverName = "tcp:******, 1433";
$database = "*******";
$uid = "*******";
$pwd = "********";

$conn = new PDO( "sqlsrv:server=" . $serverName . "; Database = " . $database, $uid, $pwd);


$sql = "SELECT * FROM gebruikers";

foreach ($conn->query($sql) as $row)
{

    print_r($row);
}

?>
Gewijzigd op 21/10/2018 10:55:18 door bas hooff
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.