无异常地检查 MySQL 中的表是否存在
在 MySQL 中,在数据库操作过程中验证表的存在至关重要。然而,在某些情况下抛出异常可能是不受欢迎的。以下是如何毫不费力地实现这一目标。
首选方法:信息架构查询
最可靠、最安全的解决方案是查询 information_schema 数据库。该数据库包含有关数据库本身的元数据,包括有关表的信息。
使用准备好的语句可以增加针对 SQL 注入的额外安全层:
$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();
如果以下情况,此查询将返回一行:表存在,为了方便起见,结果被转换为布尔值。
替代方法
虽然信息模式查询是首选,但还可以使用其他方法:
结论
通过利用信息模式查询或替代方法,您可以可靠地检查表是否存在在 MySQL 中不会遇到不需要的异常。使用替代方法时请记住考虑安全隐患。
以上是如何在不使用异常的情况下检查 MySQL 中的表是否存在?的详细内容。更多信息请关注PHP中文网其他相关文章!