Visualizzazione risultati 1 fino 7 di 7

Discussione: Soluzione alternativa alle quiery

  1. #1
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito Soluzione alternativa alle quiery

    Stavo facendo ancora esperimenti sulla quiery quando mi è apparaso il fatidico messaggio:

    È stata superata la soglia massima di queries che il database può eseguire in un'ora, è necessario potenziare il database ad una classe superiore, se il problema persiste avvisa il webmaster del sito
    Quindi ho pensato di trovare una soluzione, c'è qualcosa che mi permetta di verificare se sono esaurite le quiery nel database prima di lanciarne una?
    Io volevo fare ciò: se la quiery deve inviare i dati controllare se è possibile inviare una quiery, ed in caso di esito negativo mandare tutto ciò che deve essere inviato via e-mail a me ed io così in un secondo momento potrò caricare tutti i dati, mentre se deve ricevere dati restituire un messaggio di errore diverso, come per esempio Database momentaneamente non disponibile.

    Solo che non so come leggere la disponibilità di quiery in php, potreste aiutarmi? grazie mille.

  2. #2
    Guest

    Predefinito

    Non credo che ci sia un metodo più semplice di quello che sto per proporti, quindi mi dispiace ma ora sarai costretto ad aprire bene le orecchie e ascoltarmi, sperando che funzioni. Praticamente puoi controllare se, dopo una query, viene restituito quell'output. In questa maniera l'inserimento avverrà (mi correggo, tenterà di avvenire) ugualmente, però almeno i dati ti verranno inviati via e-mail. Fai una funzione del genere:
    Codice PHP:
    <?php
    function sql_query($sql)
    {
    ob_start();
    $query = mysql_query($sql);

    $contents = ob_get_contents();
    ob_end_clean();

    if(
    $contents == '')
    return
    $query;

    mail('tuamail@email.it', 'Errore SQL', "Errore durante l'esecuzione della query {$sql}: ". mysql_error());
    die(
    'Database temporaneamente non disponibile.');
    }
    ?>
    Modificala a tuo piacimento e soprattutto modifica l'indirizzo a cui inviare l'email in caso di errore. Ogni volta che devi eseguire una query SQL usa sql_query() e non mysql_query(). In ogni caso, in caso di successo, si comporterà come la funzione originale restituendo l'identificatore della query. Comunque restituirà errore e ti manderà i dati anche in caso di errore di MySQL. Se vuoi che lo faccia solo in caso di soglia superata fammi sapere.

  3. #3
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito

    Mi serve solo se supera la soglia grazie, in caso di errore restituisce già un messaggio la quiery
    Ultima modifica di ilmiocaos : 04-01-2010 alle ore 23.22.09

  4. #4
    L'avatar di dapeco
    dapeco non è connesso Community Manager
    Data registrazione
    21-10-2003
    Residenza
    Brusasco (To)
    Messaggi
    4,909

    Predefinito

    Prestate attenzione: l'esaurimento delle queries porta a quell'errore che normalmente non è gestibile (porta ad un fatal_error con l'interruzione dell'esecuzione). Per gestire l'errore è necessario abilitare una riga nell'htaccess http://forum.it.altervista.org/php-m...tml#post658577
    Ho visto cose che voi utenti non potreste immaginare... siti da combattimento irregolari al largo dei bastioni di Orione. E ho visto account balenare nel buio vicino alle porte di Tannhauser. E tutti quei momenti andranno perduti nel tempo come lacrime nella pioggia. È tempo di sospendere...

    ASD Brusasco - C'è altro sport oltre al calcio!

    "Io sono vivo, voi siete morti" (Philip Dick, Ubik)

  5. #5
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito

    quindi Aggiungendo la riga nell' htaccess

    Codice:
    php_value av.mysql_die_on_maxqueries_err 0
    Io posso far si che l'errore non appaia e che mi dia l'errore che da se per qualche motivo non porta a termine la quiery giusto?

  6. #6
    Guest

    Predefinito

    Esatto, semplicemente la funzione restituirà false.

  7. #7
    L'avatar di ilmiocaos
    ilmiocaos non è connesso Utente
    Data registrazione
    03-06-2009
    Residenza
    Terra
    Messaggi
    226

    Predefinito

    Perfetto, quello che mi serviva, Modifico cosìcché nel caso dia errore mandi tutto a me via e-mail, Grazie!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •