致命错误:在寄存器中的非对象上调用成员函数 fetchColumn(.php第 102 行


Fatal Error: Call to a member function fetchColumn() on a non-object in register.php on line 102

我将文件夹中的所有内容上传到我的FTP,然后我去测试注册函数(register.php),当我注册时,它给了我这个错误:

Fatal error: Call to a member function fetchColumn() on a non-object in       register.php on line 102

我检查了所有内容,并确保一切都很好。

代码有问题吗?谢谢。

$name3 = $odb -> query("SELECT `sitename` FROM `SiteConfig` LIMIT 1") -> fetchColumn(0);
$name2 = $odb -> query("SELECT `header` FROM `forgotconfig` LIMIT 1") -> fetchColumn(0);
$subject1 = $odb -> query("SELECT `Subject` FROM `forgotconfig` LIMIT 1") -> fetchColumn(0);
$subject = "Welcome To $name2";
$name1 = $odb -> query("SELECT `email` FROM `forgotconfig` LIMIT 1") -> fetchColumn(0);

您的一个查询失败,相应的$odb -> query()可能返回布尔false'而不是对象。

不要链接,但在使用 like 对象之前测试查询结果:

   $name3 = null;
   $result =  $odb -> query("SELECT `sitename` FROM `SiteConfig` LIMIT 1");
   if(!empty($result)) {
        $name3  = $result->fetchColumn(0);
   } else{
       //assuming PDO
       print_r($odb->errorInfo());
  }
   // rinse and repeat....

只是随机猜测哪个查询失败,没有您的模式或确切的数据库错误,我将一无所知。

我将首先添加一些错误处理。

如果没有这个,我只会从选择有错误的行开始,并检查列和表名大小写以查看它们是否与您的数据库匹配。 一些数据库和一些文件系统区分大小写(有时在某些像mysql中可以打开/关闭)。