PHP严格标准:非静态方法Fatal :: dbError()

时间:2013-01-24 21:30:14

标签: php exception methods standards strict

我正在解决PHP中的错误,我不知道如何解决它。我没有任何PHP知识。

以下是代码:

function _act($sql) {
   if (!$this->_link) {
      Fatal::internalError('Tried to make database query before connection.');
   }

   $r = mysql_query($sql, $this->_link);

   if ($r === false) {
      Fatal::dbError($sql, "Database query failed", mysql_error());
   }
   return $r;
 }

在错误日志中,我得到以下内容:

  

[2013年1月24日13:25:38 America / Denver] PHP严格标准:非静态方法Fatal :: dbError()不应该静态调用,假设$ home来自/ home1 / flcclear /中的不兼容上下文第91行的public_html / Library / classes / Query.php

我试图使用$r->mysql_error();进行对象调用,但这会导致不同的错误。我不是要重写这段代码,只是试图纠正小学/中学的错误,这等于没有钱,志愿者时间。

提前致谢。

2 个答案:

答案 0 :(得分:1)

make Fatal :: internalError,Fata :: dbError(你正在使用的其他方法,如“Fatal :: methodName”)静态

示例:

class Fatal
{
    public static dbError($sql,$message){
    //method body
    }
}

答案 1 :(得分:0)

但错误消息是指Fatal::dbError而不是mysql_error

Fatal::dbError是专门为您设计的课程吗?试试这个:

Class Fatal{
  ...
  static public dbError(...){...}
  ...
}