Создать сообщение об ошибке, если таблица не существует pdo - PullRequest
0 голосов
/ 26 марта 2019

Я попробовал некоторые исследования, но не нашел ничего похожего на мою проблему.
Я нашел действительно много способов проверить, существует ли таблица, но я предполагаю, что моя проблема в том, что в моих таблицах есть простой текст и переменная типа Opened_". $DataDeConsulta ."
Я попробовал следующий код, но я мог что-то упустить .. Кто-нибудь может мне помочь, пожалуйста? Заранее спасибо!

if ($valid) {
    $pdo = Database::connect();
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $pdo->prepare("Select 1 from `Opened_". $DataDeConsulta ."`");
    $stmt->execute(["Opened_". $DataDeConsulta .""]);
    $count = $stmt->fetchColumn();
    if ($count <= 0) {
        $msg="No Data Found";
        echo($msg);
    }
    else{
    $sql = "SELECT * FROM filecleaner.`Opened_". $DataDeConsulta ."`";
    $_SESSION['DataDeConsulta'] = $DataDeConsulta;
    $query_result=$pdo->query($sql);
    foreach ($pdo->query($sql) as $row) {
        echo '<tr>';
        echo '<td>'. htmlentities($row['Emails']) . '</td>';
        echo ' ';
        echo '</td>';
        echo '</tr>';
    }
    Database::disconnect();
    }
}

$Valid установлено на другой странице (только проверка ошибок)

1 Ответ

0 голосов
/ 26 марта 2019

Ну, я нашел решение, которое работает, если оно кому-нибудь пригодится:

                if (isset($valid)) {
                $pdo = Database::connect();
                $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $stmt = $pdo->prepare("SELECT COUNT(*) FROM information_schema.tables  WHERE table_schema = 'filecleaner'  AND table_name = 'Opened_". $DataDeConsulta ."'");
                $stmt->execute(["Opened_". $DataDeConsulta .""]);
                $count = $stmt->fetchColumn();
                if ($count <= 0) {
                    $msg="No Data Found";
                    echo($msg);
                }
                else{
                $sql = "SELECT * FROM filecleaner.`Opened_". $DataDeConsulta ."`";
                $_SESSION['DataDeConsulta'] = $DataDeConsulta;
                $query_result=$pdo->query($sql);
                foreach ($pdo->query($sql) as $row) {
                    echo '<tr>';
                    echo '<td>'. htmlentities($row['Emails']) . '</td>';
                    echo ' ';
                    echo '</td>';
                    echo '</tr>';
                }
                Database::disconnect();
                }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...