MySQL 内のテーブルの存在を例外なく効率的に検証する
MySQL にテーブルが存在するかどうかを確認することは一般的なタスクです。 「SHOW TABLES LIKE」クエリはこの情報を提供できますが、テーブルが見つからない場合は例外が発生する可能性があります。よりクリーンなコードと例外処理を実現するには、別のアプローチが必要です。
1 つの最適な解決策は、すべてのデータベース オブジェクトに関するメタデータを含む「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 でテーブルの存在を例外なく効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。