Hallo,
ich arbeite eigentlich nur mit dem Zend_Db_Adapter für PDO/MySQL oder Oracle. Da gibt es quoteIdentifier() um zum Beispiel variable Identifier zu maskieren. Jetzt benutze ich in einem privaten Projekt einmal die reine PDO-Klasse und möchte zum Beispiel folgendes erledigen:
Sprich ich führe zunächs SHOW FULL TABLES aus, durchlaufe das Ergebnis in einer Schleife, welche mir dann den Tabellennamen liefert, den ich nun seinerseits in meinen Query einbauen möchte. Was ist da bei reinem PDO denn die richtige Herangehensweise?
$pdo->quote($tableName)? Mit welcher Methode, prepare(), wie?
Die Ausgabe ist ein leerer Array. Wahrscheinlich ist der Query an sich also schon fehlgeschlagen. Kann ich mir irgendwie den Query ausgeben, den ich mit prepare() zusammengebaut habe? Mit Zend_Db_Adapter wär das alles irgendwie einfacher ..
ich arbeite eigentlich nur mit dem Zend_Db_Adapter für PDO/MySQL oder Oracle. Da gibt es quoteIdentifier() um zum Beispiel variable Identifier zu maskieren. Jetzt benutze ich in einem privaten Projekt einmal die reine PDO-Klasse und möchte zum Beispiel folgendes erledigen:
Code:
SHOW COLUMNS FROM ?
$pdo->quote($tableName)? Mit welcher Methode, prepare(), wie?
PHP-Code:
protected function _readDatabase()
{
$stmt = $this->_pdo->prepare("SHOW FULL TABLES");
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_NUM) as $data) {
$this->_readTable($data);
}
}
protected function _readTable(array $tableData)
{
$name = $tableData[0];
$stmt = $this->_pdo->prepare("SHOW COLUMNS FROM `?`", array($this->_pdo->quote($name)));
Debug::stop($stmt->fetchAll());
}
Kommentar