我遇到问题。我正在尝试,但我没有得到确切的解决方案。如何在从数据库获取数据时捕获错误或警告
我有代码从数据库中拿东西。
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