Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Coloquei os comentários em sequencia com números para que seja mais fácil de explicar, então ai vai:
- //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.
- //2- Utilizei a função fetch() do PDO para que retornasse um "array simples", como estou tendo de retorno da query somente uma linha.
- //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
- //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
- //variáveis para conexão. Recomendo realizar uma classe especifica para conexão
- $username = "root";
- $password = "";
- $meuValor = "usr2";
- /////////////////////////////////////////////////////////////////////////////////
- try{
- $conn = new PDO('mysql:host=localhost:3366;dbname=tstbd', $username, $password); //Realiza a conexão com o banco
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $data = $conn->query('SELECT (COUNT(username)) AS tst FROM login WHERE username = ' . $conn->quote($meuValor)); //1
- $f = $data->fetch(); //2
- $result = $f["tst"];//3
- }
- catch(PDOException $e) {
- echo 'ERROR: ' . $e->getMessage(); // parte final do bloco try-catch em caso de erro retorna msg de erro.
- }
- //4
- if($result >= 1){
- echo "Login já existente";
- }
- else {
- echo "Login não registrado";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement