Я пытаюсь под кодом для проверки существования пользователя в базе данных и результата эха в соответствии с выходом. Но я получаю «Неустранимая ошибка: имя метода должно быть строкой в ......... .... строка ". Так, что не так в коде. Какие-либо предложения?Проверить базу данных для пользователя existance
<?php
$user_email="[email protected]";
try
{
/*** connect to database ***/
/*** mysql hostname ***/
$mysql_hostname = '127.0.0.1';
/*** mysql username ***/
$mysql_username = 'root';
/*** mysql password ***/
$mysql_password = '';
/*** database name ***/
$mysql_dbname = 'something';
/*** select the users name from the database ***/
$dbh = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
if ($this->$dbh()) {
// check if username or email already exists
$query_check_user_email = $this->$dbh->prepare('SELECT user_email FROM users WHERE user_email=:user_email');
$query_check_user_email->bindValue(':user_email', $user_email, PDO::PARAM_STR);
$query_check_user_email->execute();
$result = $query_check_user_email->fetchAll();
// if username or/and email find in the database
// TODO: this is really awful!
if (count($result) > 0) {
echo "exists!";
}
} else {
echo "non existant";
}
?>
Любое предложение?
Оставьте номер строки, пожалуйста, и, если возможно, линию, поднимающую ошибку. –
Покажите нам все сообщение об исключении. –
что это? 'if ($ this -> $ dbh()) {'? просто отбросьте это, если блок – Ghost