gpt4 book ai didi

php - 如何在 zend 中获取数据库中表的列名?

转载 作者:行者123 更新时间:2023-11-29 05:18:50 25 4
gpt4 key购买 nike

我正在 zend 中创建一个应用程序,用户将在其中输入主机、数据库名称、用户名和密码以连接数据库,并且能够检索表和表中的列也可以开始一些工作..

我正在使用这段代码获取数据库中的表:

$ExternalDb = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => $host,
'username' => $user,
'password' => $pass,
'dbname' => $dbName
));

try{
//Create connection
echo $ExternalDb->getConnection()->getAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY);

foreach($ExternalDb->listTables() as $table){

//$table = new $table(array('db' => $ExternalDb)); it doesn't work
echo "<pre>";
print_r($table);
//$cols = $table->info(Zend_Db_Table_Abstract::COLS); It doesn't work
echo "</pre>";

}

} catch (Exception $ex) {
echo $ex;
}

我能够获取表名,但我也在尝试获取列名...

提前致谢!

最佳答案

您可以从 Zend_Db_Table_Abstract 中检索信息。

像这样创建一个新类:

class foo extends Zend_Db_Table_Abstract
{
}

在您的代码中:

foreach($ExternalDb->listTables() as $table){
$dbTable = new foo($ExternalDb);
$dbTable->setOptions(array($dbTable::NAME => $table));
var_dump($dbTable->info($dbTable::COLS));
unset($dbTable);
}

关于php - 如何在 zend 中获取数据库中表的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28872722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com