Итак, я работаю над изучением 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);
}
}