Ошибка Php - неожиданная ожидающая функция require_once
В настоящее время я пытаюсь получить структуру medoo, чтобы можно было легко получать данные из моей базы данных MySQL... и по какой-то причине это не работает!
вот код моего файла signin.php
<?php
function loginUserAccount($loginname, $password){
// Include Medoo (configured)
require_once 'medoo.min.php';
// Initialize
$database = new medoo();
$email = $database->get('MM_Users', 'Email', [
'ID' => 1
]);
return $email;
}
?>
И ошибка:
Ошибка разбора: синтаксическая ошибка, неожиданное 'require_once' (T_REQUIRE_ONCE), ожидающая функция (T_FUNCTION) в /myfiledirectory/example.php в строке 4
Любая помощь очень ценится! Я не совсем уверен, что происходит не так.
PHP-файл, который работает:
<?php
require_once('signin.php');
if(!loginUserAccount('bobby@gmail.com', 'AveryRandomPassword')){
echo 'error';
} else {
echo $email;
}
?>
Есть также разница в упаковке для require_once... это не имеет значения, не так ли? И если да, то какой из них лучше использовать в производственной среде?
3 ответа
Вы не можете иметь require_once внутри класса без функции. Это главная причина.
Попробуйте поместить require_once в конструкцию.
если быть точным:
class foo
{
require_once('bar.php');
}
будет ошибка
Эта строка:
require_once('signin.php');
находится внутри класса, но вне метода, что невозможно в PHP.
Я могу ошибаться, но не требует_once 'medoo.min.php'; требуют скобки? вот так: require_once ('medoo.min.php');
Попробуйте это, вероятно, сработает
<?
require_once 'medoo.min.php';
use Medoo\Medoo; //If this line raises errors, remove it
// Initialize DB
$database = new Medoo(
// required
'database_type' => 'mysql',
'database_name' => 'name',
'server' => 'localhost',
'username' => 'your_username',
'password' => 'your_password',
);
$email = $database->get('MM_Users', 'Email', [
'ID' => 1
]);
return $email;
}
?>
Еще одна ошибка, которую я заметил, заключается в том, что вы создали экземпляр объекта Medoo (другими словами, вы вызвали класс Medoo), используя строчную букву M, которой не должно быть. Кроме того, не забудьте передать правильные значения базы данных и сервера.
См. Это для получения дополнительной информации, если вы все еще сталкиваетесь с проблемами.