mcmamaisstolz
Goto Top

Probleme bei prepared query via ODBC unter Ubuntu

Hallo zusammen,

ich versuche via PHP ein prepared Statement an einen MS-SQL Server zu senden. Leider bricht der vorhandene Apache die Verbindung immer dann ab, wenn ich mit Platzhaltern arbeite. Für die Abfrage benutze ich folgendes PHP-Skript:

$id=8;
$pdo = new PDO("odbc:MyDSN" , "myuser" , "mypasswort");  
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$statement = $pdo->prepare("SELECT * FROM table WHERE id!=4 AND other_id=?");  
$statement->bindParam(1, $id);

Statement läuft ohne den Platzhalter ? sobald der Platzhalter eingefügt wird und im Anschluss versucht wird die Variable $id dem Platzhalter zuzuordnen bricht die Anfrage ab und Apache schmeißt den Error:
AH01067: Failed to read FastCGI header
(104)Connection reset by peer: AH01075: Error dispatching request to :

Ich verzweifel langsam an dieser Problematik und wende mich händeringend an euch als erfahrene Community.

Systeminformationen:

Ubuntu 16.04.3 LTS‬
PHP 7.1.9 (FPM)
Apache/2.4.18
UNIX_ODBC mit FreeTDS v0.91

Config der ODBC-Komponente findet Ihr als Screenshot anbei.

Ich danke bereits im Vorfeld
unbenannt

Content-Key: 349066

Url: https://administrator.de/contentid/349066

Printed on: April 25, 2024 at 15:04 o'clock

Member: Arano
Arano Sep 14, 2017 at 08:42:43 (UTC)
Goto Top
Hallo.

Also ich meine mal ein Problem mit Integer oder Floats im zusammen hang mit Bind gehabt zu haben...
Einen versuch ist es Wert *g*

Also laut PHP-Manual ist per Default $data_type=STR aber du hast da einen INT
 public bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
Probiere es doch mal wenn die den $data_type mit angibst:
$statement->bindParam(1, $id, PDO::PARAM_INT);
Passt zwar gar nicht zu Fehlermeldung aber was solls.
...was ist eigentlich mit den PHP-Meldungen ?
error_reporting und display_errors sind gesetzt ?


~Arano
Member: mcmamaisstolz
mcmamaisstolz Sep 14, 2017 at 08:49:13 (UTC)
Goto Top
Hallo ~Arano,
erst einmal vielen Dank für deine Rückinfo.
Ich habe deinen Vorschlag umgehend umgesetzt, leider ohne Erfolg. Das error_reporting ist aktiviert, wird aber leider nicht ausgeführt, stattdessen bekomme ich eine Server Error 503 Service Temporarily Unavailable Meldung.