Benim PHP web uygulaması veritabanı (MySQL) hataları yakalamaya çalışıyorum. Şu anda, ben) mysqli_error gibi fonksiyonları (olduğunu görmek, son yakalamak için mysqli_errno () hatası oluştu. Ancak, bu hala benim php kod tekrarlanan if / else ifadeleri kullanarak hata oluşması için kontrol etmemi gerektiriyor. Ne demek istediğimi görmek için aşağıdaki kodumu kontrol edebilirsiniz. Bunu yapmak için daha iyi bir yaklaşım var mı? (Ya da) ben istisnaları yükseltmek ve tek bir yerde onları yakalamak için kendi kod yazmak mı? Ayrıca, PDO istisnalar zam yok? Teşekkürler.
function db_userexists($name, $pwd, &$dbErr)
{
$bUserExists = false;
$uid = 0;
$dbErr = '';
$db = new mysqli(SERVER, USER, PASSWORD, DB);
if (!mysqli_connect_errno())
{
$query = "select uid from user where uname = ? and pwd = ?";
$stmt = $db->prepare($query);
if ($stmt)
{
if ($stmt->bind_param("ss", $name, $pwd))
{
if ($stmt->bind_result($uid))
{
if ($stmt->execute())
{
if ($stmt->fetch())
{
if ($uid)
$bUserExists = true;
}
}
}
}
if (!$bUserExists)
$dbErr = $db->error();
$stmt->close();
}
if (!$bUserExists)
$dbErr = $db->error();
$db->close();
}
else
{
$dbErr = mysqli_connect_error();
}
return $bUserExists;
}