php - Symfony2 - 显示数据库中的所有表

标签 php mysql symfony

我想以列表的形式检索数据库中的所有表。

我试图对查询执行“显示数据库”,但由于我没有使用我在 symfony 中定义的(实体)类,所以它不起作用。

还有 DQL:

   $em = $this->getDoctrine()->getEntityManager();
   $query = $em->createQuery(
        'show databases');

    $result = $query->getResult();

这个错误:

[Syntax Error] line 0, col 0: Error: Expected SELECT, UPDATE or DELETE, got 'show'

有什么想法可以帮助我吗?

最佳答案

如另一个答案中所述,您可以为此使用 Doctrine\DBAL:

/** @type \Doctrine\DBAL\Connection $connection */
$connection = ...;

/** @type \Doctrine\DBAL\Schema\MySqlSchemaManager $sm */
$sm = $connection->getSchemaManager();

然后只需将表列为Array:

var_dump( $sm->listDatabases() );

关于php - Symfony2 - 显示数据库中的所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14057317/

相关文章:

php - 在 WordPress 中使用回调键传递参数

php - 从 PHP 启动程序

php - Uncaught Error : Call to a member function get_shipping_packages()

symfony - 如何检查用户是否已登录 Symfony?

php - Doctrine 合并 : DateTime field always updated

php - 如何在单个 Laravel 应用程序中为多个域加载不同的 .env 文件?

Mysql 查询 mysql_num_rows 不起作用

Python 'int32' 无法转换为MySQL类型

mysql - MySQL 中的数据库迁移到 Oracle 数据库

php - Doctrine MappedSuperclass 和唯一约束