MySQL PDO - Что должно быть внутри блока try { block }?

Итак, я работаю над изучением PDO и переносом стандартных функций PHP в MySQL. Однако у меня есть вопрос. Что касается блоков try {}, что именно в них должно быть, а что вне его?

Должно ли все, что использует $sth-> ... , быть внутри try {}? Должен ли он быть только с момента, когда оператор впервые подготовлен, до момента его выполнения? Даже меньше?

Будем признательны за любую помощь. :)

Вот пример метода, который есть у меня в классе. Правильно ли она организована? Обратите внимание, как я поместил всевнутрь try {}. Это неправильно? Мне это кажется неправильным, но я не уверен, как мне это изменить.

protected function authorized()
{
    try
    {
        // Attempt to grab the user from the database.
        $sth = $dbh->prepare("
            SELECT COUNT(*) AS num_rows
            FROM users
            WHERE user_id = :user_id
            ");

        $sth->bindParam(':user_id', $this->user_id);
        $sth->execute();

        // Check if user exists in database.
        if ($sth->fetch()->num_rows > 0)
        {
            // User exists in database, and is therefore valid.
            return TRUE;
        }
        else
        {
            // User does not exist in database, and is therefore invalid.
            return FALSE;
        }
    }
    catch (PDOException $e)
    {
        pdo_error($e);
    }
}
10
задан tereško 7 May 2018 в 08:05
поделиться