0

我有这个函数,我用它来处理我
在 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 不是空的,因为当我回显它时,我会输出错误..我猜想,当我试图让它工作时,我用 (Example) 替换了 $en 并且它工作并且 (Example) 在数据库中

Fix :

我不确定,但我想如果我可以让它粘贴 $en 的实际价值 .. 那么它将起作用:D

但我需要你帮我做或者给我指出正确的方向

4

2 回答 2

1

出色地。

你必须摆脱的:

  • 没有死()
  • 没有错误回显到浏览器
  • 没有数据库日志记录

你真正需要做的:

这样,您将在 cpanel 中看到所有错误,并且不会向用户吐出任何错误。

于 2013-07-11T11:34:29.090 回答
-1
$db->query("INSERT INTO `error` (`con`) VALUES ('$en')");

而是尝试

$db->query("INSERT INTO `error` (`con`) VALUES ('".$en."') )";

如果它回显错误,我怀疑 $en 是空的,所以它可能只是一个字符串插值问题。

于 2013-07-11T11:00:44.533 回答