• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Apache Absturz bei DB Query

spankmaster79

New member
Hi,

ich glaube irgendetwas mache ich falsch. Ich will eigentlich nur ganz einfach auf die Mysql Datenbank zugreifen und mir stürzt beim Query der Apache ab... bzw. wenn ich php-cgi nutze (muss ich manchmal weil Xdebug dann besser funktioniert) dann bekomme ich ein:
Code:
Premature end of script headers: php-cgi.exe
Folgende Daten sind in der application.ini
Code:
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = "testdatabase"
resources.db.isDefaultTableAdapter = true
dann im IndexController versuche ich wie folgt auf die Datenbank zuzugreifen.
// get dbadapter from bootstrap
/* @var Zend_Db_Adapter_Abstract */
$dbAdapter = $this->getInvokeArg('bootstrap')
->getPluginResource('db')
->getDbAdapter();

$sql = "SELECT * FROM users";

$users = $dbAdapter->fetchAll($sql, 2);
Was mach ich denn hier falsch???
 

ice-breaker

New member
Laut Doku stimmt eventuell was mit deinem zweiten Parameter nicht
alle nicht array-Werte werden in ein Arrray gepackt ;)
PHP:
// Zend_Db_Adapter_Abstract::query

        // make sure $bind to an array;
        // don't use (array) typecasting because
        // because $bind may be a Zend_Db_Expr object
        if (!is_array($bind)) {
            $bind = array($bind);
        }
Hi,
ich glaube irgendetwas mache ich falsch. Ich will eigentlich nur ganz einfach auf die Mysql Datenbank zugreifen und mir stürzt beim Query der Apache ab
Du nutzt nicht zufälligerweise XAMPP ?
 

datensurfer

New member
Aktuell habe ich bei meinen lokalen Apache unter Windoof Vista ein ähnlichen Effekt.
Bei der Erstellung der Datenbank (also Zugriff auf Selbiger) schmiert der Apache ab.
Auf mein Linux-System mit dem selben Script passiert das nicht!

Primär nutze ich das Setup-Programm des digitalus-cms welches komplett auf ZF basiert.

Habt ihr ähnliche Effekte bzw. gar eine Lösung oder Lösungs-Ansatz zur Hand?
In der error log des Servers steht leider nichts weiter! :-(
 

thomas_w

New member
alle nicht array-Werte werden in ein Arrray gepackt ;)
PHP:
// Zend_Db_Adapter_Abstract::query
 
        // make sure $bind to an array;
        // don't use (array) typecasting because
        // because $bind may be a Zend_Db_Expr object
        if (!is_array($bind)) {
            $bind = array($bind);
        }
Code:
$sql = "SELECT * FROM users";
 
$users = $dbAdapter->fetchAll($sql, 2);
Stimmt, aber ich wollte eher darauf hinweisen, dass da eine Bind-Variable übergeben wird, ohne dass im SQL-String eine Bind-Position "?"
angegeben ist. Das könnte ein Problem sein. Ich hatte da schon
mal ähnliche Effekte, wenn die Anzahl Bind-Positionen nicht
mit der Anzahl der Bind-Variablen übereinstimmt. Das war mal ein Bug
in PHP bzw. PDO.

Grüße
Thomas
 

spankmaster79

New member
@thomas_w
Stimmt, aber ich wollte eher darauf hinweisen, dass da eine Bind-Variable übergeben wird, ohne dass im SQL-String eine Bind-Position "?"
angegeben ist. Das könnte ein Problem sein. Ich hatte da schon
mal ähnliche Effekte, wenn die Anzahl Bind-Positionen nicht
mit der Anzahl der Bind-Variablen übereinstimmt. Das war mal ein Bug
in PHP bzw. PDO.
Danke für den Hinweis. Aber ich habe lediglich (falsch??) abgeschrieben :D

http://framework.zend.com/manual/de/zend.db.html#zend.db.adapter.select

Was macht der $bind Parameter eigentlich? Werde aus der Doku nicht schlau
$bind Data to bind into SELECT placeholders
@ice-breaker
VIELEN VIELN DANK für den Link der dann weiterverweist auf: http://www.apachefriends.org/f/viewtopic.php?p=131751

wo die Lösung des Problems steht. Es ist ein Bug in der libmysql.dll die mit XAMPP 1.7.0 ausgeliefert wird. Einfach XAMPP updaten oder, wenn das nicht geht wie bei mir, einfach aktuelle PHP Version runterladen (5.2.x) und daraus die libmysql.dll in /xampp/apache/bin und /xampp/php ersetzen.

Gruß und thx an alle
Spanky
 
Oben