Advertisement
lipelarizzatti

Verificar Login e Senha no banco com PHP PDO

Jan 29th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.80 KB | None | 0 0
  1. //Coloquei os comentários em sequencia com números para que seja mais fácil de explicar, então ai vai:
  2. //1- Utilizei o SELECT COUNT para contar o registro do campo da minha tabela que seja igual ao valor informado, que neste caso é o login //do usuário. Como é o retorno de uma função do SQL (SELECT COUNT()), eu a nomeei de "tst" para que eu possa iterar por ela.
  3. //2- Utilizei a função fetch() do PDO para que retornasse um "array simples", como estou tendo de retorno da query somente uma linha.
  4. //3- coloquei o "$f = $data->fetch();" (vide sequencia //2) dentro de $result para que eu pegasse os dados do array que tivessem o índice //"tst". Se eu tentasse utilizar $f que no momento recebe $data->fetch(); eu estaria trabalhando com um array e nao com o valor dele
  5. //4- pode ser feito uma logica de comparação simples através da condicional IF, uma vez que vc já possui o valor contado de quantos //registros há no banco para aquele valor informado, dentro de $result
  6.  
  7. //variáveis para conexão. Recomendo realizar uma classe especifica para conexão
  8. $username = "root";
  9. $password = "";
  10. $meuValor = "usr2";
  11. /////////////////////////////////////////////////////////////////////////////////
  12.  
  13. try{
  14.         $conn = new PDO('mysql:host=localhost:3366;dbname=tstbd', $username, $password); //Realiza a conexão com o banco
  15.         $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  16.    
  17.         $data = $conn->query('SELECT (COUNT(username)) AS tst FROM login WHERE username = ' . $conn->quote($meuValor)); //1
  18.         $f = $data->fetch(); //2
  19.         $result = $f["tst"];//3
  20.    }
  21. catch(PDOException $e) {
  22.         echo 'ERROR: ' . $e->getMessage(); // parte final do bloco try-catch em caso de erro retorna msg de erro.
  23.     }
  24. //4
  25. if($result >= 1){
  26.         echo "Login já existente";
  27.     }
  28.     else {
  29.         echo "Login não registrado";
  30.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement