JoseDroid Posted August 20, 2020 at 10:05 PM Report Share #619136 Posted August 20, 2020 at 10:05 PM Boas malta, tenho este código para inserir dados na base de dados, o que acontece é que agora quero fazer uma função que me diga se já existe um utilizador com aquele nome ou não. Caso exista emitir uma pagina erro, caso não exista, cria. o código que tenho a funcionar é este: $ligacao = new mysqli("localhost", "root", "", "gestao"); if ($ligacao->connect_errno) { echo "Falha na ligação: " . $ligacao->connect_error; exit(); } $consulta = "INSERT INTO utilizadores (id, nome, pass) VALUES ('$id', '$nome', '$pass' )"; if (!$ligacao->query($consulta)) { echo " Falha ao gravar: \"$consulta\" <br>" . $ligacao->error; $ligacao->close(); /* fechar a ligação */ } else{ echo " Novo registo inserido com sucesso" ; } Já tentei alguns métodos sei que é á base de select e assim mas nenhum sem sucesso, alguém me pode ajudar? Link to comment Share on other sites More sharing options...
JoseDroid Posted August 20, 2020 at 10:21 PM Author Report Share #619137 Posted August 20, 2020 at 10:21 PM (edited) Tenho este codigo na página toda e funciona tudo ok <?php /* Verificar se o formulário foi submetido */ if ($_SERVER["REQUEST_METHOD"] == "POST") { $id = filter_input(INPUT_POST, 'id'); $nome = filter_input(INPUT_POST, 'nome'); $pass = filter_input(INPUT_POST, 'pass'); /* validar os dados recebidos do formulario */ if (empty($id) || empty($nome) || empty($pass)) { echo "Todos os campos do formulário devem ser preenchidos "; exit(); } } else{ echo " Erro, formulário não submetido "; exit(); } /* estabelece a ligação à base de dados */ $ligacao = new mysqli("localhost", "root", "", "gestao"); /* verifica se ocorreu algum erro na ligação */ if ($ligacao->connect_errno) { echo "Falha na ligação: " . $ligacao->connect_error; exit(); } /* texto sql da consulta*/ $consulta = "INSERT INTO utilizadores (id, nome, pass) VALUES ('$id', '$nome', '$pass' )"; /* executar a consulta e testar se ocorreu erro */ if (!$ligacao->query($consulta)) { echo " Falha ao gravar: \"$consulta\" <br>" . $ligacao->error; $ligacao->close(); /* fechar a ligação */ } else{ /* percorrer os registos (linhas) da tabela e mostrar na página */ echo " Novo registo inserido com sucesso" ; } $ligacao->close(); /* fechar a ligação */ ?> Edited August 21, 2020 at 08:24 AM by M6 Formatação de código Link to comment Share on other sites More sharing options...
Solution M6 Posted August 21, 2020 at 08:27 AM Solution Report Share #619140 Posted August 21, 2020 at 08:27 AM Tens duas formas de o fazer: antes de tentar escrever o registo consultas para saber se a base de dados já possui esse registo, ou, colocas o nome do utilizador como "unique" na base de dados e caso tenhas um erro na inserção relativo à violação dessa regra sabes que o utilizador já existe. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
JoseDroid Posted August 24, 2020 at 09:13 PM Author Report Share #619172 Posted August 24, 2020 at 09:13 PM Precisa de ver isso em código, o segundo nunca ouvi falar... Link to comment Share on other sites More sharing options...
JoseDroid Posted August 24, 2020 at 09:32 PM Author Report Share #619173 Posted August 24, 2020 at 09:32 PM Já consegui MUITO OBRIGADO pela dica!!! Um pouco de pesquisa e já dá erro 😄 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now