Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    non mostrare gli errori del mysql

    Ciao ragazzi,

    ho una pagina dove vorrei evitare, in caso di errore di database, di mostrare agli utenti info varie.
    Ho messo a inizio pagina error_reporting(0); e anche le @ prima delle funzioni.
    Lo sto testando in locale con mamps su mac e gli errori me li stampa sempre lo stesso.
    Solo se non metto or die non me li mostra. Ma vorrei vederci più chiaro.

    grazie!

  2. #2
    Mica per caso hai scritto qualcosa come
    codice:
    or die(mysql_error());
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    mmm... non ho capito....
    io metto or die... perchè quando lo testo voglio vedere se ci sono errori, ma poi quando lo metto online vorrei sapere se c'è un metodo per non andare a cancellarli tutti e mettere solo una riga di codice che dice al mysql di non stampare gli errori.

    grazie!

  4. #4
    Utente di HTML.it L'avatar di Gin7
    Registrato dal
    Feb 2011
    Messaggi
    92
    più che non stamparli secondo me sarebbe più utile non mostrarli. Registrarli quindi in un file di log. Dai un occhiata qui: http://php.net/manual/en/errorfunc.configuration.php

  5. #5
    No, or die è una funzione e non è influenzata da error_reporting.
    Se la funzione c'è, allora verrà eseguita quando si verifica la condizione prevista.

    Se vuoi evitare di stampare gli errori in fase di produzione non vedo altra via che usare una variabile per sapere se sei in fase di debug o meno.

    Tu ora hai qualcosa di simile a questo
    codice:
    $link = mysql_connect("localhost", "mysql_user", "mysql_password") or die('Errore nella connessione al database);
    Dovresti, invece, scrivere qualcosa del tipo

    codice:
    $debug = true;
    
    if(!$link = mysql_connect("localhost", "mysql_user", "mysql_password") && $debug)
           die('Errore nella connessione al database);
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  6. #6
    Utente di HTML.it L'avatar di Gin7
    Registrato dal
    Feb 2011
    Messaggi
    92
    Mi sembra di capire che l' utente non voglia mostrare i messaggi e credo, da umile programmatore PHP, che sia inutile allungare il codice con "or die()".
    Secondo me, ma è un modestissimo e personalissimo parere, condivisibile o meno da chiunque, sarebbe meglio scrivere qualcosa tipo:
    codice:
    ini_set("log_errors", 1);
    ini_set("error_log", "/path/to/php-error.log");
    mysql_connect("localhost", "mysql_user", "mysql_password");
    In questo modo:
    1) non ha bisogno di settare inutili variabili a true/false per visualizzare eventuali errori
    2) il webmaster avrà sempre e comunque la possibilità di vedere se ci sono errori nel sito.
    2a) Se, invece la variabile debug fosse settata a true non sarebbe soltanto lui a visualizzare gli errori, ma qualsiasi utente che accede al sito. E mi sembra poco professionale

  7. #7
    Originariamente inviato da Gin7
    Mi sembra di capire che l' utente non voglia mostrare i messaggi e credo, da umile programmatore PHP, che sia inutile allungare il codice con "or die()".
    Secondo me, ma è un modestissimo e personalissimo parere, condivisibile o meno da chiunque, sarebbe meglio scrivere qualcosa tipo:
    codice:
    ini_set("log_errors", 1);
    ini_set("error_log", "/path/to/php-error.log");
    mysql_connect("localhost", "mysql_user", "mysql_password");
    In questo modo:
    1) non ha bisogno di settare inutili variabili a true/false per visualizzare eventuali errori
    2) il webmaster avrà sempre e comunque la possibilità di vedere se ci sono errori nel sito.
    2a) Se, invece la variabile debug fosse settata a true non sarebbe soltanto lui a visualizzare gli errori, ma qualsiasi utente che accede al sito. E mi sembra poco professionale
    Ottimo consiglio, grazie anche da parte mia
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.