• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

php sql abfrage unterschiedliches verhalten

dave.

New member
Hallo
Ich habe eine sql abfrage gebaut und diese läuft nur in einem Ordner.

Erklärung:
Follgendes Script Läuft wenn ich es im Projekt Ordner "A" laufen lasse.
Wenn ich das script (gleiche datei mit c&p rüberkopiert) in Projektordner "B" laufenlasse kommt eine Fehlermeldung.
HTML:
PHP Warning: odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager]
Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben, 
SQL state IM002 in SQLConnect in C:\Inetpub\wwwroot\Include\get_pin.php on line 3
Der Server ist der selbe und der User bin beidemale ich.
Der server ist ein RDP serve.
wo ist der Unterschied?

Das Projekt "B" läuft bis auf dieses Script.
PHP:
<?php
    $nebenstelle=$_GET["nebenst"];
	$connection = odbc_connect('dave_test', 'reader', 'read');
	//Gegen die Test DB
  $sqlQuery = " SELECT ARTIKEL_NR, BEZ  FROM abv.ARTIKEL WHERE ARTIKEL_NR LIKE $nebenstelle;";
  

                
  	 $erg = odbc_exec($connection, $sqlQuery);
	   
    while ($row=odbc_fetch_object($erg))
    {
      foreach ($row as $item)
        {
          echo $item;
          echo "    ";
        }
      echo "<br>";
    }    	
?>

dave.
 
wo ist der Unterschied?
Also ich kenne mich jetzt zu wenig mit dem IIS und den Verrenkungen aus, die ein MS Webserver benötigt, aber da die DSNs in der Systemsteuerung global festgelegt werden, kann es nicht sein, dass der DSN-Name mal bekannt ist und mal nicht.
Von daher würde ich den Unterschied zwischen den beiden "Sites" in der IIS-Konfiguration suchen. Eventuell läuft die eine Site unter einer anderen Berechtigung, und es handelt sich nicht um eine System-DSN sondern eher um eine User-DSN.

Unabhängig davon solltest Du Deinen Code gegen SQL-Injections absichern, alternativ kannst Du mal "http://localhost/Include/get_pin.php?nebenst='';%20DROP%20TABLE%20ARTIKEL;%20--" ausprobieren (vorher unbedingt Datensicherung!!).
 
Ich hab es jetzt so gelöst:
PHP:
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=<servername>;Database=<Databasename>;", '<user>', 'Passwort');

Danke für die schnellen hilfsansätze.
 
Zurück
Oben