• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

catarino

como mostrar erros do mysql?

6 mensagens neste tópico

Bom dia

tenho uma questão a fazer que pode ser do interesse dos restantes visitantes do forum.

Fiz um formulário que insere registos no mysql!

No mysql tenho um campo que é unico ou seja  não pode ser repetido. por ex "naluno"

no formulário tenho a função que insere na base de dados ou mostra o erro mysql.

mysql_query($sql) or die (mysql_error());

Quando eu vou inserir no campo unico dados que já existem a função mysql_error() dá-me o seguinte erro

Duplicate entry 'informação' for key 2

A minha questão é:

Como é que eu transformo o erro "Duplicate entry 'informação' for key 2" em "esse aluno já existe"

Eu em vez do "(mysql_error()) podia por  ("esse aluno já existe");"

mas o problema é que mostra esse erro em tudo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

simples e eficaz:

mysql_query($sql) or die ("Esse aluno já existe ");  :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que não pretendes um die(). Algo como isto é o que tu queres:

if(!mysql_query($sql)){
    $erro = mysql_error();
    echo "Ocorreu o seguinte erro: ", '"', $erro, '"';
}

PS: O código não está protegido contra ataques XSS.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tirácio, acho que ele pretende nomes mais amigáveis, em vez de 'Duplicate entry 'informação' for key 2', ter uma amigável mensagem a dizer que o registo já existe.

Pelo que se quiseres que o script pare, dás um die("a tua mensagem de erro"). Senão, fazes um if e guardas a mensagem de erro para ser apresentada mais tarde.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Simples, em vez de fazer logo echo, passa o erro por uma regex e vê se faz match. Se fizer, manda o erro X.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

dependendo claro de outras condições e objectivos, mas pode-se também pesquiser se o aluno existe, se a query nao devolver resultados insere, se devolver resultados é porque existe e devolve a mensagem que quiseres

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora