Visualizzazione risultati 1 fino 18 di 18

Discussione: Errore all'esaurimento delle query

  1. #1
    Guest

    Predefinito Errore all'esaurimento delle query

    In altri post viene citato il messaggio d'errore come "poco ortodosso": non è proprio come lo definirei ma credo che renda l'idea del mio pensiero eheh
    Ho trovato questo post del 2005 in cui se ne parla ed un reply del 2008 che tratta l'impossibilità della modifica.
    Dal 2008 al 2011 è cambiato qualcosa? In che modo posso modificare il tipo di messaggio che appare?

  2. #2
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Puoi inserire nell'htaccess
    Codice:
    php_value av.mysql_die_on_maxqueries_err 0
    e poi gestirlo via php

    http://forum.it.altervista.org/php-m...i-queries.html
    http://forum.it.altervista.org/php-m...amite-php.html
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  3. #3
    Guest

    Predefinito

    Bien con l'.htaccess, al contrario la gestione con .php mi da problemi.
    Mi segnala un errore nella riga 2:

    Codice PHP:
    $query = "............";
    $record = mysql_query($query, $mysql);
    if(
    $record){
    ...
    ...
    ...
    }
    else{
    $errno = mysql_errno();
    if(
    $errno == 1226)
    echo
    'Il limite di queries all\'ora è stato superato.<br />Visita l\'<a href="home.htm">homepage</a> del sito.';
    else
    echo
    mysql_error();
    }
    @
    mysql_close($mysql);

  4. #4
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Quello è solo un esempio, lo devi adattare al tuo script, per esem.
    Codice PHP:
    $mysql = mysql_connect('localhost', 'luca1012', '');
    if(
    $mysql){
    mysql_select_db('my_luca1012', $mysql);
    $query = "SELECT * FROM myTable";
    $record = mysql_query($query, $mysql);
    if(
    $record){
    $data = mysql_fetch_assoc($record);
    if(
    $data)
    while(
    $data){
    echo
    'ID: ',$data['id'],'<br />Name: ',$data['name'];
    $data = mysql_fetch_assoc($record);
    if(
    $data)
    echo
    '<br />';
    }
    else
    echo
    'Vuoto!';
    }
    else
    if(
    mysql_errno() == 1226)
    echo
    'Il limite di queries all\'ora è stato superato.<br />Visita l\'<a href="home.htm">homepage</a> del sito.';
    else
    echo
    mysql_error();
    mysql_close($mysql);
    }

  5. #5
    Guest

    Predefinito

    Codice HTML:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'usertable_draco' at line 1
    Cosa ho combinato?
    Codice PHP:
    $mysql = mysql_connect('localhost', 'luca1012', 'miapassword');
    Codice PHP:
    $query = "SELECT * FROM nometabella";
    Ho dimenticato o sbagliato qualcosa?

  6. #6
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

  7. #7
    Guest

    Predefinito

    Codice PHP:
    $mysql = mysql_connect('localhost', 'luca1012', 'miapassword');
    if(
    $mysql){
    mysql_select_db('my_luca1012', $mysql);
    $query = "SELECT * FROM user_draco";
    $record = mysql_query($query, $mysql);
    if(
    $record){
    $data = mysql_fetch_assoc($record);
    if(
    $data)
    while(
    $data){
    echo
    'ID: ',$data['id'],'<br />Name: ',$data['name'];
    $data = mysql_fetch_assoc($record);
    if(
    $data)
    echo
    '<br />';
    }
    else
    echo
    'Vuoto!';
    }
    else
    if(
    mysql_errno() == 1226)
    echo
    'Il limite di queries all\'ora è stato superato.<br />Visita l\'<a href="home.htm">homepage</a> del sito.';
    else
    echo
    mysql_error();
    mysql_close($mysql);
    }
    Questo è quello che ho inserito :)

  8. #8
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

  9. #9
    Guest

    Predefinito

    Sembra?
    Possibile che lo inserisco nella zona sbagliata?
    E' inserito dopo l'apertura di .php e prima della parte del mio script.

    PS: Le tabelle che utilizza lo script sono svariate, non è una sola.

  10. #10
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da luca1012 Visualizza messaggio
    Sembra?
    Ora che l'ho provato, ti posso dire che è giusto.

    Ripeto: quello è solo un esempio, devi modificare tutti i script che effettuano interrogazioni al db, aggiungendo:
    Codice PHP:
    if($record){

    }
    else
    if(
    mysql_errno() == 1226)
    echo
    'Il limite di queries all\'ora è stato superato.<br />Visita l\'<a href="home.htm">homepage</a> del sito.';
    else
    echo
    mysql_error();

  11. #11
    Guest

    Predefinito

    Lo inserisco nella index della cartella che contiene lo script, /draco. Anche se gli script sono diversi nella stessa cartella, per la index dovrebbe andare ma non va.

  12. #12
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

  13. #13
    Guest

    Predefinito

    Dai un occhio qua :)
    Troppo lungo da inserire

  14. #14
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Dove trovi
    Codice PHP:
    $res = mysql_query($query) or die(mysql_error());
    rimuovi
    Codice PHP:
    or die(mysql_error())
    e aggiungi
    Codice PHP:
    if($res){
    //codice da eseguire
    }
    else{
    if(
    mysql_errno() == 1226)
    exit(
    'Il limite di queries all\'ora è stato superato.<br />Visita l\'<a href="/">homepage</a> del sito.');
    else
    die(
    mysql_error());
    }
    Risultato:
    Codice PHP:
    $res = mysql_query($query);
    if(
    $res){
    //codice da eseguire
    }
    else{
    if(
    mysql_errno() == 1226)
    exit(
    'Il limite di queries all\'ora è stato superato.<br />Visita l\'<a href="/">homepage</a> del sito.');
    else
    die(
    mysql_error());
    }
    Hai inserito
    Codice:
    php_value av.mysql_die_on_maxqueries_err 0
    nell'.htaccess?
    Ultima modifica di andreafallico : 12-07-2011 alle ore 10.15.14

  15. #15
    Guest

    Predefinito

    Dai un occhio qua ^^'
    Questo è il codice dell'index.php

    PS: .htaccess già modificato.

  16. #16
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Quel codice non va inserito all'inizio del file(lo devi cancellare), ma devi modificare il tuo script;
    ti faccio un esempio, prendendo un pezzo del tuo script:
    Codice PHP:
    $query = "SELECT u.*,p.waffentech, p.schildtech,p.rpz,p.vbt,p.hra,p.impulse FROM $utablename u
    LEFT JOIN
    $playertable p ON (u.ingame = p.playername)
    WHERE username='"
    .mysql_real_escape_string($username)."' AND userpass=md5('$userpass') and status='active'";
    $res = mysql_query($query) or die(mysql_error());

    if (
    mysql_num_rows($res) > 0) {
    $line = mysql_fetch_object($res);
    ...
    ...
    ...
    }
    // else - no amin account any more
    }
    }
    if (!
    $loginfailure) {
    ...
    ...
    va modificato così:
    Codice PHP:
    $query = "SELECT u.*,p.waffentech, p.schildtech,p.rpz,p.vbt,p.hra,p.impulse FROM $utablename u
    LEFT JOIN
    $playertable p ON (u.ingame = p.playername)
    WHERE username='"
    .mysql_real_escape_string($username)."' AND userpass=md5('$userpass') and status='active'";
    $res = mysql_query($query);
    if(
    $res){
    if (
    mysql_num_rows($res) > 0) {
    $line = mysql_fetch_object($res);
    ...
    ...
    ...
    }
    // else - no amin account any more
    }
    }
    }
    else{
    if(
    mysql_errno() == 1226)
    exit(
    'Il limite di queries all\'ora è stato superato.<br />Visita l\'<a href="/">homepage</a> del sito.');
    else
    die(
    mysql_error());
    }
    if (!
    $loginfailure) {
    ...
    ...

  17. #17
    Guest

    Predefinito

    Ci sono arrivato, ci ho messo un bel po ma c'e l'ho fatta ^^'
    E' stato un bel disastro, grazie mille del supporto :)

  18. #18
    Guest

    Predefinito

    Posso aggiungere un altra cosa?
    Non centra con questa discussione ma può sempre essere utile, dove hai scritto "miapassword" nella connessione per il database quel campo lo puoi anche lasciare vuoto.

Regole di scrittura

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