Скрипт работает для добавления пользовательских данных в БД, однако я хочу, чтобы проверить, если имя пользователя находится в использовании, но продолжает работать в эту ошибкупроверки имени пользователя против п.д.о. базы данных
Fatal error: Call to a member function rowcount() on a non-object in /home/4507408/public_html/registeruser.php on line 78
Я не могу показаться, чтобы суметь это сделать с PDO, любая помощь будет отличной!
<?php
$form = $_POST;
$username = $form[ 'username' ];
$password = $form[ 'password' ];
$firstname = $form[ 'firstname' ];
$location = $form[ 'location' ];
$age = $form[ 'age' ];
$email = $form[ 'email' ];
$usercheck = $_POST['username'];
$check = "SELECT username FROM use WHERE username = '$usercheck'";
$query = $DBH->prepare($check);
$query = $DBH->prepare($check);
$query->execute();
$data = $query->fetchALL();
$check2 = $check->rowcount();
//if the name exists it gives an error
if ($check2 != 0) {
die('Sorry, the username '.$_POST['username'].' is already in use.');
}
$sql = "INSERT INTO user (username, password, firstname, location, age, email) VALUES (:username, :password, :firstname, :location, :age, :email)";
$query = $DBH->prepare($sql);
?>
Не уверен, но, взглянув на код, у меня есть подозрение, что вы должны заменить '$ check2 = $ check-> rowcount();' либо с помощью '$ check2 = $ data-> rowcount(); 'или' $ check2 = $ query-> rowcount(); '. – Andris
Почему вы используете PDO без подготовленных заявлений? – ComFreek
Вы пробовали $ check2 = $ check-> rowCount(); Это верблюд. Кроме того, используйте подготовленные заявления –