我正在连接到我的网页上的MySQL数据库,并将这个复制粘贴的代码用于错误:
if(DB::isError($db)) die($db->getMessage());
我在名为connection.inc的外部文件中有连接代码,我在DOCTYPE和html标记之前包含在页面的开头。
出于调试目的,如何在我的网页上打印数据库错误?
我以为我可以这样做:
echo 'Could not connect to database. The error was:' . $db->getMessage();
但是返回:致命错误:调用未定义的方法DB_mysql :: getMessage()
connection.inc看起来像这样:
require_once("DB.php");
$dsn="mysql://mannerv_bonus:blahblah@localhost/mannerv_bonus";
$db = DB::connect($dsn);
if(DB::isError($db)) die($db->getMessage());
else $db->query("SET NAMES 'latin1'");
我试过了:
if(DB::isError($db)) {
echo 'There was an error';
echo $db->getMessage();
}
我可以更改密码并执行任何操作,但似乎isError永远不会成立。我认为如果密码错误,这将是一个错误。
答案 0 :(得分:0)
失败,因为它不是PEAR错误对象。 (这意味着数据库连接成功)
if (PEAR::isError($db)) {
echo $db->getMessage();
}
但是顶部的die
(在connection.inc
中)将立即停止脚本执行,并且其下面的任何代码都将永远不会运行。
答案 1 :(得分:0)
connection.inc看起来像这样:
require_once("DB.php");
$dsn="mysql://mannerv_bonus:blahblah@localhost/mannerv_bonus";
$db = DB::connect($dsn);
if(DB::isError($db)) die($db->getMessage());
else $db->query("SET NAMES 'latin1'");
我试过了:
if(DB::isError($db)) {
echo 'There was an error';
echo $db->getMessage();
}
我可以更改密码并执行任何操作,但似乎isError永远不会成立。我认为如果密码错误,这将是一个错误。