preko
Erfahrenes Mitglied
Hi,
ich habe folgende Konstellation:
Entwicklungsumgebung für PHP auf SUSE Linux Server.
MS SQL Datenbank auf Microsoft SQL Server
ODBC Zugriff auf Datenbank per FreeTDS.
Ich habe folgendes PHP-Script, mit dem ich vergeblich versuche Werte/Inhalt einer Tabelle innerhalb der MSSQL Datenbank abzufragen:
Irgendwie bekomme ich keinen Output. Die Felder innerhalb der Tabelle und Tabellenname, etc. sind korrekt geschrieben - habe ich überprüft, daran kann es also nicht liegen.
Führe ich folgende Codezeile (anstelle der o. g. Query) aus, bekomme ich eine korrekte Ausgabe der einzelnen Tabellen der Datenbank, d. h. es wird eine Verbindung zur Datenbank hergestellt und der Zugriff auf diese ist möglich:
Hat jemand eventuell eine zündende Idee was ich übersehen haben könnte?
Beste Grüße!
ich habe folgende Konstellation:
Entwicklungsumgebung für PHP auf SUSE Linux Server.
MS SQL Datenbank auf Microsoft SQL Server
ODBC Zugriff auf Datenbank per FreeTDS.
Ich habe folgendes PHP-Script, mit dem ich vergeblich versuche Werte/Inhalt einer Tabelle innerhalb der MSSQL Datenbank abzufragen:
PHP:
<?php
// Connection Data
$odbc_server = '20.5.1.30,49000';
$odbc_database = 'clients';
$odbc_user = 'clients_user';
$odbc_password = 'clients_pass';
// Variablen für Datenbank-Tabellensuche
$personenNr = '00000015';
$beztyp = 'DEB';
$bezform = '001';
// Connectionstring
$conn = odbc_connect("Driver=FreeTDS;Server=$odbc_server;Database=$odbc_database;", $odbc_user, $odbc_password)
or die('Fehler bei der Verbindung zum Server. Server sagt: '.htmlspecialchars(odbc_errormsg()));
// Query
$mssql_query = "SELECT * FROM `clients-table` WHERE 'PER-NUM' = '".$personenNr."' AND 'BEZ-TYP' = '".$beztyp."' AND 'BEZ-FOR' = '".$bezform."' ";
// Verbindung zur Datenbanktabelle mit Suchstring
$result = odbc_exec($conn, $mssql_query);
// Ergebnisabfrage
while($row = odbc_fetch_array($result)) {
echo "=> ".$row['PC-ANREDE']." ".$row['PC-VORNAME']." ".$row['PC-NAME']."<br />"."\n";
}
// Beenden der Datenbankverbindung
odbc_free_result($result);
?>
Irgendwie bekomme ich keinen Output. Die Felder innerhalb der Tabelle und Tabellenname, etc. sind korrekt geschrieben - habe ich überprüft, daran kann es also nicht liegen.
Führe ich folgende Codezeile (anstelle der o. g. Query) aus, bekomme ich eine korrekte Ausgabe der einzelnen Tabellen der Datenbank, d. h. es wird eine Verbindung zur Datenbank hergestellt und der Zugriff auf diese ist möglich:
PHP:
// Connection Data
$odbc_server = '20.5.1.30,49000';
$odbc_database = 'clients';
$odbc_user = 'clients_user';
$odbc_password = 'clients_pass';
// Variablen für Datenbank-Tabellensuche
$personenNr = '00000015';
$beztyp = 'DEB';
$bezform = '001';
// Connectionstring
$conn = odbc_connect("Driver=FreeTDS;Server=$odbc_server;Database=$odbc_database;", $odbc_user, $odbc_password)
or die('Fehler bei der Verbindung zum Server. Server sagt: '.htmlspecialchars(odbc_errormsg()));
// Retrieves table list.
$result = odbc_tables($conn);
$tables = array();
while (odbc_fetch_row($result))
array_push($tables, odbc_result($result, "TABLE_NAME") );
// Begin table of names.
echo "<table style='border: 1px solid #000000;'>";
echo " <tr>";
echo " <th>Nr.</th>";
echo " <th>Tabellenname</th>";
echo " </tr>";
// Create table rows with data.
foreach( $tables as $tablename ) {
$tablecount = $tablecount+1;
echo " <tr>";
echo " <td>".$tablecount."</td>";
echo " <td>".$tablename."</td>";
echo " </tr>";
}
// End table.
echo "</table>";
// Beenden der Datenbankverbindung
odbc_free_result($result);
?>
Hat jemand eventuell eine zündende Idee was ich übersehen haben könnte?
Beste Grüße!
Zuletzt bearbeitet: