Problem mssql verbindung nur über die inc datei

Kai Wenzel

Grünschnabel
Hallo Board,
ich "verzweifel" gerade ein wenig.

Folgendes Szenario:
Ich möchte in meinem PHP Script die Verbindung zum MSSQL Server (keine Express Version) herstellen.

Eine erste Verbindung klappt mit folgendem Code:
PHP:
<?php
$db_host = "192.168.17.3";
$db_user = "sa";
$db_pass = "xxxxxxxx";
$db_name = "iPulsar-New";

// Verbindung oeffnen und Datenbank ausweahlen
$conID = mssql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );

Da ich aber nicht in jeder PHP Datei den ganzen "Schlunz" schreiben möchte, wollte ich es über eine inc datei eben Zentral ablegen und per Inlude einbringen.

Hier mal die Inc Datei
PHP:
<?php
         //Verbindungseinstellungen werden hier zentral eingepflegt und per include entsprechend geladen

         $db_host = "192.168.17.3";
         $db_user = "sa";
         $db_pass = "xxxxxxxx";
         $db_name = "iPulsar-New";
         $Conn = NULL;


function Conn()
         {
         global $Conn;
         global $Server;
         $Conn = mssql_connect( $db_host,$db_user,$db_pass) or die ("Server nicht erreichbar");

         };

function DisConn()
         {
         global $Conn;
         mssql_close($Conn);
         };
?>
und hier die erste php datei.
PHP:
<?php

         include "./include/DBConnect.inc";
                 
                 Conn();
                 mssql_select_db($db_name,$Conn);
                 
                 //Verbindung zur SQL Tabelle herstellen
                 $RS = mssql_query($SQL,$Conn);

         $SQL = "SELECT [ID],[Kundennummer],[Referenz],[Name1],[Name2],[Zusatz],[Straße],[PLZ],[Ort],[Land],[Gruppe],[barcode] FROM [iPulsar-New].[dbo].[IVB_Versandadressen]";

         //Platz fuer weitere Anweisungen

                 mssql_free_result($RS);
                 DisConn();


?>

Leider klappt diese Version nicht und er spuckt mir beim aufruf folgendes aus:

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 192.168.17.3 in /var/www/tavarlin/include/DBConnect.inc on line 14
Server nicht erreichbar

Leider seh ich grad den Wald vor lauter Bäumen nicht mehr.
Bitte gebt mir ein Stups/Tip/hilfestellung.

Danke
 
1. Benenn deine Datei mit der Extenion .php sonst kann man im Browser den Quelltext lesen. .inc-Dateien werden normalerweise nicht durch den Parser geschickt, bevor sie an den Client gesendet werden.

2. Normalerweise sind Variablen aus dem globalen Scope nicht in Funktionen verfügbar. Um das Problem zu beseitigen, kannst du das Schlüsselwort global verwenden, was du ja bei $Conn schon gemacht hast. Das gleiche musst du noch für $db_host, $db_user, $db_pass und $db_name machen.
 
Danke Saftmeister für die Antwort.
Werde ich gleich mal umsetzen und sehe so langsam auch mein "fehler".
Werde nach dem test und dem denke doch erfolgreichen versuhc den thread als erledigt markern.

Grüße
Kai
 
Zurück