我有这个功能,我用来处理我的错误
在php查询和类似的东西
但我认为如果我可以保存数据库中的错误然后在我的管理控制面板中显示它会更好,所以没有人能看到我在我的网站上的错误
这是功能:
function er($str) {
global $db;
if (!$str) {
$errornum = $db->errorinfo();
echo $errornum[2];
die;
}
}
在这里我试图做我说的我想做的事情:
function er($str) {
global $db;
if (!$str) {
$errornum = $db->errorinfo();
$en = $errornum[2];
echo "".$en."";
$db->query("INSERT INTO `error` (`con`) VALUES ('$en')");
die;
}
}
The Problem Is :
查询剂量做任何事情
The Reason Is :
我认为原因是$ en是空的...所以插入不会做任何事情,因为它有一个名称将其插入数据库,但是$ en不是空的,因为当我回应它我输出错误..当我试图让它工作时,我想到了我用(示例)替换了$ en并且它工作了并且(示例)在数据库中存在
Fix :
我不确定,但我认为如果我可以将它粘贴到$ en的实际值...那么它将起作用:D
但我需要你帮助我做到这一点或指出我正确的方向
答案 0 :(得分:1)
好。
你必须摆脱:
你真正需要做的事情:
为PHP设置正确的错误报告。在实时服务器上它必须是
error_reporting(E_ALL);
ini_set('display_errors',0);
ini_set('log_errors',1);
按照此处的说明使您的PDO抛出异常:PDO query fails but I can't see any errors. How to get an error message from PDO?
答案 1 :(得分:-1)
$db->query("INSERT INTO `error` (`con`) VALUES ('$en')");
而不是尝试
$db->query("INSERT INTO `error` (`con`) VALUES ('".$en."') )";
如果它回应错误我怀疑$ en是空的,所以它可能只是一个字符串插值问题。