我遇到問題。我正在嘗試,但我沒有得到確切的解決方案。如何在從數據庫獲取數據時捕獲錯誤或警告
我有代碼從數據庫中拿東西。
try {
require_once('blogic.php');
$obj = new blogic();
$re = $obj->select("SELECT link FROM eff ORDER BY RAND() LIMIT 1");
$l = mysql_fetch_row($re);
$link = $l[0];
} catch (Exception $e) {
$link = "http://www.xyz.com/friendsin2013/";
}
上面的代碼工作正常,但如果(無論出於何種原因)任何問題出現,同時從數據庫中獲取數據,我想的聯繫,在catch
塊給被拖欠。
然而,它並不按照我希望的方式工作。它在沒有錯誤時有效,但是,當我遇到錯誤時,$link
未從catch
傳遞。我只是得到錯誤信息。
Blogic.php生活就像--- >>這是一個獲取數據庫條目的文件。
<?php
include('s.php');
class blogic {
function connect() {
$link = mysql_connect(SERVER, USER, PASSWORD);
if (!$link) {
die('Could not connect: ' . mysql_error());
return false;
} else {
return true;
}
}
function select_database() {
$db = mysql_select_db(DATABASE);
if (!$db) {
die('Could not connect: ' . mysql_error());
return false;
} else {
return true;
}
}
function select($str) {
self::connect();
self::select_database();
$res = mysql_query($str);
return $res;
}
}
?>
s.php - >>
它可能無助於回答你的問題,但你應該停止使用'mysql_ *'函數。他們正在被棄用。請使用[PDO](http://php.net/manual/en/book.pdo.php)(自PHP 5.1起支持)或[mysqli](http://php.net/manual/en/book)。 mysqli.php)(自PHP 4.1起支持)。如果您不確定要使用哪一個,請閱讀本文(http://www.deprecatedphp.com/mysql_/)。 – Matt
我不確定'try-catch'語句是如何工作的。 '$ link'可能超出了範圍,所以你應該嘗試''返回''catch'塊。 – Matt
@Matt鏈接到您自己的網站? Em .. – treng