php - MySQL检查表是否存在而不抛出异常

标签 php mysql pdo database

检查 MySQL 中是否存在表(最好通过 PHP 中的 PDO)而不引发异常的最佳方法是什么。我不想解析“SHOW TABLES LIKE”等的结果。一定有某种 bool 查询?

最佳答案

使用准备好的语句查询 information_schema 数据库看起来是最可靠、最安全的解决方案。

$sql = "SELECT 1 FROM information_schema.tables 
        WHERE table_schema = database() AND table_name = ?";
$stmt =  $pdo->prepare($sql);
$stmt->execute([$tableName]);
$exists = (bool)$stmt->fetchColumn();

关于php - MySQL检查表是否存在而不抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21038845/

相关文章:

php - 将 PHP Web 服务和 ASP.NET 网站连接到同一个 MySQL

php - 自定义 twitter 'Tweet Button' 回调不适用于第一次点击但第二次有效

php - 以这种特定方式对我的数据库进行非规范化会有助于提高性能吗?

php - 创建一个在模板上显示 ID 信息的页面

php - MySql语句错误: SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1

php - 在 Vim 中格式化 PHP 代码

MySQL 在 CASE 语句中从 SUM 中减去

PHP MySQL 查询不返回所有结果

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - PDO在mysql中的性能