Zend mit MSSQL - Quoting Problem ?
Hallo,
ich arbeite mit dem Zend Framework und suche in einer MSSQL Datenbank nach einer Zeichenkette welche außer Zahlen auch zwei Slashes enthält.
application.ini
Bootstrap.php
in der Action bzw Model
Das Problem ist nun, dass die generierte SQL Abfrage optisch funktioniert. - soll heißen: kopiert und manuell auf dem Server ausführen funktioniert und liefert die gewünschten Ergebnisse.
Sobald jedoch ->query() ausgeführt wird, passiert gar nichts mehr - keine Exception - nichts.
Ich habe nun folgendes versucht:
... und es geht.
vielen Dank schon mal für eure Tipps
EDIT: das Problem liegt scheinbar doch noch woanders - in der Originalen SQL Abfrage ist noch ein ->joinInner() enthalten und eines der Datenfelder (Datentyp Money) verursachte das Problem.
ich arbeite mit dem Zend Framework und suche in einer MSSQL Datenbank nach einer Zeichenkette welche außer Zahlen auch zwei Slashes enthält.
application.ini
; ...
; Konfiguration MSSQL Server
resources.multidb.mssql.adapter = "PDO_MSSQL"
resources.multidb.mssql.pdoType = "dblib"
; ...
Bootstrap.php
// ...
$dbResource = $this->getPluginResource('multidb');
$dbResource->init();
// ...
Zend_Registry::set('Zend_Db_Mssql', $dbResource->getDb('mssql'));
// ...
in der Action bzw Model
$dbMs = Zend_Registry::get('Zend_Db_Mssql');
$Referenznummer = '123/4567/890';
$result = $dbMs->select()->from( array'tabelle', array( 'id' ))
->joinInner(
->where('"Referenznummer" = ?', $Referenznummer)
->query()->fetchAll();
Das Problem ist nun, dass die generierte SQL Abfrage optisch funktioniert. - soll heißen: kopiert und manuell auf dem Server ausführen funktioniert und liefert die gewünschten Ergebnisse.
Sobald jedoch ->query() ausgeführt wird, passiert gar nichts mehr - keine Exception - nichts.
Ich habe nun folgendes versucht:
$result = $dbMs->query( <<<__SQL__
SELECT "id" FROM "tabelle" WHERE "Referenznummer" = '123/4567/890'
__SQL__
)->fetchAll();
... und es geht.
vielen Dank schon mal für eure Tipps
EDIT: das Problem liegt scheinbar doch noch woanders - in der Originalen SQL Abfrage ist noch ein ->joinInner() enthalten und eines der Datenfelder (Datentyp Money) verursachte das Problem.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176979
Url: https://administrator.de/forum/zend-mit-mssql-quoting-problem-176979.html
Ausgedruckt am: 22.12.2024 um 07:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
ich wollte nur was anmerken, obwohl ich leider noch nicht in ZF wirklich firm bin. Du schreibst hier in einem Codeblock:
Ist denn dei Anweisung so richtig? Oder gehört das ? nicht auch noch in ' ' ... ? Wiegesagt, meine ZF Kenntnisse betragen 0, aber das fiel mir so spontan auf...
ich wollte nur was anmerken, obwohl ich leider noch nicht in ZF wirklich firm bin. Du schreibst hier in einem Codeblock:
->where('"Referenznummer" = ?', $Referenznummer)
Ist denn dei Anweisung so richtig? Oder gehört das ? nicht auch noch in ' ' ... ? Wiegesagt, meine ZF Kenntnisse betragen 0, aber das fiel mir so spontan auf...