Я загрузил все в свою папку на свой FTP, затем пошел проверять функцию register (register.php), и когда я регистрируюсь, это дает мне эту ошибку:
Fatal error: Call to a member function fetchColumn() on a non-object in /home/tgriego/public_html/t0k/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
вместо объекта.
Не связывайте, но проверяйте результат запроса перед тем, как использовать подобный объект:
$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....
Просто беря случайное предположение, при котором запрос терпит неудачу, без вашей схемы или точной ошибки БД, я бы не имел понятия.
Я бы начал с добавления обработки ошибок.
Без этого я только начинал с выбора строки с ошибкой и проверки имени столбца и имени таблицы, чтобы узнать, соответствуют ли они вашей БД. Некоторые DB и некоторые файловые файлы имеют чувствительность к регистру (иногда в некоторых подобных mysql это может быть включено/выключено).