Wie stelle ich mit PHP 8 eine ODBC-Verbindung zu SQL Server mit Windows-Authentifizierung her?

Antwort

Um mit PHP 8 eine ODBC-Verbindung zu einem Microsoft SQL Server unter Verwendung der Windows-Authentifizierung herzustellen, gehst du wie folgt vor: ### Voraussetzungen 1. **ODBC-Treiber für SQL Server**: Stelle sicher, dass der Microsoft ODBC Driver für SQL Server auf deinem System installiert ist. [Download-Link (Microsoft)](https://learn.microsoft.com/de-de/sql/connect/odbc/download-odbc-driver-for-sql-server) 2. **PHP ODBC-Erweiterung**: Die ODBC-Erweiterung (`php_odbc` oder `php_pdo_odbc`) muss in deiner `php.ini` aktiviert sein. ### Beispiel: Verbindung mit ODBC und Windows-Authentifizierung #### 1. ODBC Data Source Name (DSN) einrichten (optional) Du kannst einen DSN in der ODBC-Systemsteuerung anlegen oder einen sogenannten "DSN-less"-Verbindungsstring verwenden. #### 2. PHP-Code ```php <?php $server = 'SERVERNAME'; // z.B. 'localhost\SQLEXPRESS' oder IP-Adresse $database = 'Datenbankname'; // DSN-less Connection String für Windows-Authentifizierung $dsn = "Driver={ODBC Driver 18 for SQL Server};Server=$server;Database=$database;Trusted_Connection=Yes;"; // Verbindung herstellen $conn = odbc_connect($dsn, '', ''); // Benutzername und Passwort leer lassen if (!$conn) { exit("Verbindung fehlgeschlagen: " . odbc_errormsg()); } echo "Verbindung erfolgreich!"; // Beispielabfrage $sql = "SELECT @@VERSION"; $rs = odbc_exec($conn, $sql); while (odbc_fetch_row($rs)) { echo odbc_result($rs, 1); } odbc_close($conn); ?> ``` #### Hinweise - **Trusted_Connection=Yes** sorgt dafür, dass die Windows-Authentifizierung verwendet wird. - Der Benutzer, unter dem der Webserver (z.B. Apache, IIS) läuft, muss auf dem SQL Server die nötigen Rechte haben. - Bei aktuellen ODBC-Treibern kann auch `Authentication=ActiveDirectoryIntegrated` verwendet werden, das ist aber für klassische Windows-Authentifizierung nicht nötig. - Unter Linux ist die Windows-Authentifizierung schwieriger und benötigt z.B. [Kerberos](https://learn.microsoft.com/de-de/sql/connect/odbc/linux-mac/using-integrated-authentication?view=sql-server-ver16). #### Weitere Informationen - [Microsoft ODBC Driver for SQL Server – Dokumentation](https://learn.microsoft.com/de-de/sql/connect/odbc/) - [PHP: odbc_connect – Manual](https://www.php.net/manual/de/function.odbc-connect.php) Damit kannst du mit PHP 8 und ODBC eine Verbindung zu einem SQL Server mit Windows-Authentifizierung herstellen.

KI fragen

Verwandte Fragen

Wie kann ich mit PHP 8 eine Datei außerhalb des Webverzeichnisses einfügen?

Um mit PHP 8 eine Datei von außerhalb des Webverzeichnisses einzufügen, kannst du die Funktionen `require`, `require_once`, `include` oder `include_once` verwenden. Wichtig ist dabei, den *... [mehr]

Wie setze ich unter Windows ein Passwort als Umgebungsvariable und lese es mit PHP8 aus?

Um ein Passwort als Umgebungsvariable in Windows zu setzen und es anschließend mit PHP 8 auszulesen, gehst du wie folgt vor: **1. Umgebungsvariable in Windows setzen** - Öffne die Eingabe... [mehr]

Wie addiere ich zwei Zeitangaben in PHP8, z.B. 02:45 und 04:30?

Um zwei Zeitangaben im Format „Stunden:Minuten“ in PHP 8 zu addieren, kannst du die DateTime- und DateInterval-Klassen verwenden. Hier ein Beispiel: ```php $time1 = '02:45'; $ti... [mehr]

Wie erstelle ich eine eigene Datenbank mit PHP und SQL?

Um eine eigene Datenbank mit PHP und SQL zu erstellen, benötigst du folgende Schritte: 1. **Datenbank-Server installieren** Installiere einen Datenbank-Server wie [MySQL](https://www.mysql.... [mehr]

Wie programmiere ich ein Fußball-Tippspiel mit PHP und SQL-Datenbank?

Um ein Fußball-Tippspiel mit PHP und einer SQL-Datenbank (z. B. MySQL) zu programmieren, sind mehrere Schritte notwendig. Hier findest du eine grundlegende Anleitung, wie du vorgehen kannst: **... [mehr]

Was ist der Unterschied zwischen den PHP-Funktionen ceil und round?

Die PHP-Funktionen **ceil()** und **round()** dienen beide dazu, Fließkommazahlen (Kommazahlen) auf Ganzzahlen zu runden, sie unterscheiden sich jedoch im Verhalten: - **ceil()** (von „ce... [mehr]

Wie runde ich in PHP 8 einen Wert immer auf den nächsten ganzzahligen Wert auf?

Um einen Wert in PHP 8 grundsätzlich aufzurunden, verwendest du die Funktion `ceil()`. Diese Funktion rundet immer auf die nächsthöhere ganze Zahl auf. Beispiel: ```php $wert = 3.3; $g... [mehr]

Wie programmiere ich eine Erinnerungs-App mit PHP und SQL?

Um eine einfache Erinnerungs-App mit PHP und SQL zu programmieren, benötigst du grundlegende Kenntnisse in PHP, MySQL (oder MariaDB) und HTML. Hier ist ein grober Leitfaden, wie du vorgehen kanns... [mehr]

Wie erstelle ich ein Registrierungsformular mit PHP und MySQL, das erst nach Eingabe eines Codes erreichbar ist, unter Verwendung von PHP-Sessions und Prepared Statements?

Um ein Registrierungsformular mit PHP und MySQL zu erstellen, das erst nach Eingabe eines Codes erreichbar ist, kannst du wie folgt vorgehen: **1. Code-Abfrage vor dem Formular** Zuerst wird eine Se... [mehr]

Wie erstellt man ein PHP-Anmeldeformular mit SQL-Datenbankanbindung, das nach Eingabe eines Zugangscodes zugänglich ist?

Um ein Anmeldeformular in PHP bereitzustellen, das erst nach Eingabe eines Zugangscodes sichtbar wird, benötigst du zwei Schritte: 1. **Code-Eingabe-Formular**: Nutzer geben einen Zugangscode ei... [mehr]