Я запросил базу данных и получил список имен баз данных, которые соответствуют моим критериям.Это то, что я побежал, чтобы получить информацию.
$sql = "SELECT DISTINCT tb.TABLE_SCHEMA
FROM
INFORMATION_SCHEMA.TABLES AS tb
INNER JOIN
INFORMATION_SCHEMA.TABLES AS tb2
WHERE tb.TABLE_NAME like '%OPTION%'
AND tb2.TABLE_NAME like '%USER%'";
$query = $handler->prepare($sql);
$query->execute();
$dbnames = $query->fetchAll(PDO::FETCH_COLUMN);
Что я пытаюсь сделать: теперь, когда у меня есть имена, мне нужно просмотреть каждую базу данных, чтобы я мог получить список веб-сайтов, электронную почту администратора и логин пользователя.Я знаю, что могу достичь этого индивидуально, но я пытаюсь сделать это динамически с переменными.Выделенное ниже утверждение будет выполнено и даст мне мой ответ.Однако префикс перед подчеркиванием в FROM ysY6q8hmL7_options
отличается в каждой базе данных.
SELECT option_value FROM `ysY6q8hmL7_options` WHERE `option_name` = 'home'
Я пробовал этот код, но постоянно получаю сообщение об ошибке.Как я могу решить эту проблему.Как я могу выполнять запросы динамически, не зная полного имени каждой таблицы.благодарю вас.
foreach ($result as $val) {
$sql = "SELECT option_value FROM $val.%_options WHERE option_name = 'home'";
$query = $handler->prepare($sql);
$query->execute();
$dbnames = $query->fetchAll(PDO::FETCH_ASSOC);
printResultConsole($dbnames);