How to display error while query?

Asked

Viewed 2,093 times

7

I’m having the following problem, this query is not entering the data in the database:

$inserir2 = mysqli_query($link, "INSERT INTO cliques (emailusuario, brasil, lucrobrasil, portugal, lucroportugal, suica, lucrosuica, belgica, lucrobelgica, australia, lucroaustralia, africadosul, lucroafricadosul, franca, lucrofranca, mexico, lucromexico, tailandia, lucrotailandia, novazelandia, lucronovazelandia, colombia, lucrocolombia, argentina, lucroargentina, india, lucroindia, italia, lucroitalia, reinounido, lucroreinounido, outrospaises, lucrooutrospaises) VALUES ('$email', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000', '0', '0.000')");

I remember there was a way to show the concrete error.

How can I get her to show me a mistake, to tell me which column I’m going "wrong"?

1 answer

13


The usual way is:

$inserir2 = mysqli_query( $link, $sql ) or die( mysqli_error( $link ) );

If you need something more elaborate, you can get the error code and its description:

$inserir2 = mysqli_query( $link, $sql );
if( !$inserir2 ) {
   echo 'Código de erro:'.mysqli_errno( $link ).'<br>';
   echo 'Mensagem de erro:'mysqli_error( $link ).'<br>';
}

Now, it makes more sense to do the debug of the code.

Probably in a real application, you should not play error on screen, and rather log into the system, or record an internal message to the developers of the site, after all, it makes no sense and it is no advantage to give internal details of your application to an end user (or potential attacker/attacker).

See an example that saves a message on log of PHP:

if( ! ($inserir2 = mysqli_query( $link, $sql )) ) {
   error_log( 'Erro ao fazer query:'.mysqli_error( $link ) );
   // Aqui você deve fazer algo que seja adequado para o contexto,
   // dependendo da sua aplicação. O `die` é meramente ilustrativo,
   // e não vai encerrar corretamente seu HTML nem manter um layout
   // adequado na página. Num caso real, execute o cleanup necessário
   // para encerrar o script corretamente. 
   die( 'Ocorreu um problema ao atender sua solicitação' );
} 

http://php.net/manual/en/function.error-log.php


Here is one more example in a different way of handling errors based on numerical codes.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.