TheNight 1 Denunciar post Postado Março 10, 2015 Galera ao adicionar o código ao meu PHP: <?php include("configs/config.php"); //error_reporting(0); $nome = $_POST['nome']; $email = $_POST['email']; $username = ($_POST['username']); $password = md5($_POST['password']."ALS52KAD09"); $compassword = md5($_POST['compassword']."ALS52KAD09"); if(isset($nome, $email, $username, $password, $compassword)){ if(strstr($email, "@")){ if($password == $compassword){ //$query = $dbc->prepare("SELECT * FROM dks_login WHERE username = ? OR email = ?"); $query = $conn->prepare("SELECT * FROM dks_login WHERE username = ? OR email = ?"); $query = $query->execute(array( $username, $email )); $count = $query->rowCount(); if($count == 0){ $query = $conn->prepare("INSERT INTO dks_login SET nome= ?, username= ?, email= ?, password= ?"); $query = $query->execute(array( $nome, $email, $username, $compassword )); if($query){ echo 'Sua conta foi registrada com sucesso, agora você pode fazer login!'; } }else{ echo 'Já existe um usuário com esse nome de usuário ou e-mail'; } }else{ echo 'As senhas não são iguais!'; } }else{ echo 'Email informado não é valido!'; } } ?> obtenho o erro: Fatal error: Call to a member function rowCount() on a non-object in C:\xampp\htdocs\web\pages\cadastrar.php on line 20 Que diabos é isto? sou novato em php e é a primeira vez que isso me acontece, por que está dando isso se visualmente meu código não está com erro ? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 10, 2015 O método execute retorna true ou false. Veja: http://php.net/manual/pt_BR/pdostatement.execute.php Por isso o erro. Você chama um método em um booleano, não em um objeto Retire a atribuição do retorno de execute() para $query. Ou troque o nome da variável. Veja um exemplo aqui: http://php.net/manual/pt_BR/pdostatement.rowcount.php Compartilhar este post Link para o post Compartilhar em outros sites
TheNight 1 Denunciar post Postado Março 10, 2015 Tentei trocar os nomes da váriaveis e tirar o retorno porém continua o erro, acho que não entendi muito bem, vou reler o que você passou nos links.... Edite: Tá vendo galera a leitura dos artigos do site do PHP é fundamental, se eu tivesse pesquisado mais nem taria aqui agora, vergonha :P rsrs Obrigado Beraldo seu post me ajudou. Compartilhar este post Link para o post Compartilhar em outros sites