例外をスローせずに MySQL にテーブルが存在するかどうかを確認する最適な方法は何ですか (PHP の PDO 経由が望ましい)。「SHOW TABLES LIKE」などの結果を解析する気はありません。何らかのブール クエリが必要ですか?
ベストアンサー1
準備されたステートメントを使用して 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();