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

    [PHP] 2 nuovi Warning con php 4.3.10

    Buon anno a tutti.

    Ho approfittato delle feste per aggiornare il mio php alla versione 4.3.10 ed ora in tutti gli script mi esce:

    Warning: mysql_query(): Your query requires a full tablescan (table eventi, 2 rows affected). Use EXPLAIN to optimize your query. in c:\programmi\apache group\apache\test.. on line 23

    Che cosa vuol dire??


    Inoltre mi chiede di inserire il mysql_free_result(), ma php non lo aggiungeva automaticamente??

    Grazie
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  2. #2
    ti dice che è meglio che migliori sia le tue query sia il tuo codice

    php in auto elimina le risorse alla fine...ma è SEMPRE cosa buona farlo anche nel codice...in modo da non far sommare la memoria usata

    Se il limite è di 8 mb...a metà script vengono usati 8mb lo script muore...ma usando free_result usarai meno di 8 mb e quindi tutto andrà ^^
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    ma questo warning si riferisce ad una pecca in particolare?
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  4. #4
    Originariamente inviato da marte101
    ma questo warning si riferisce ad una pecca in particolare?
    :master: :master:

    li c'è scritto a cosa si riferisce...

    Warning: mysql_query(): Your query requires a full tablescan (table eventi, 2 rows affected). Use EXPLAIN to optimize your query. in c:\programmi\apache group\apache\test.. on line 23
    la tua query richiede una ricerca della tabella completa (....). Usa EXPLAIN per ottimizzare la tua query .......

    vuol dire che fai una select (non c'è scritto ma quasi sicuramente fai una select) nella quale non credo tu usi degli indici ^^ e per questo ti dice il tutto...altrimenti fai qualche operazione di modifica perché li da l'elenco delle righe affette (modificate)

    insomma...probabilmente devi sistemare gli indici :stordita;

    per l'altro errore ti ripeto quello che ho detto prima...è meglio metterli cosi eviti picchi di memoria ^^
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    la query è una select.

    Quando parli di indici intendi quelli inseriti in MYSQL?

    In effetti è una cosa che ho sempre tralasciato.

    Hai qualche link dal quale posso aggiornarmi sull'uso degli indici?
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

  6. #6
    Originariamente inviato da daniele_dll
    :master: :master:

    li c'è scritto a cosa si riferisce...



    la tua query richiede una ricerca della tabella completa (....). Usa EXPLAIN per ottimizzare la tua query .......

    vuol dire che fai una select (non c'è scritto ma quasi sicuramente fai una select) nella quale non credo tu usi degli indici ^^ e per questo ti dice il tutto...altrimenti fai qualche operazione di modifica perché li da l'elenco delle righe affette (modificate)

    insomma...probabilmente devi sistemare gli indici :stordita;

    per l'altro errore ti ripeto quello che ho detto prima...è meglio metterli cosi eviti picchi di memoria ^^
    dan mysql_free_result si deve mettere dopo mysql_query? (anche se dopo c'è mysql_fetch_* ecc?)

  7. #7
    Originariamente inviato da xnavigator
    dan mysql_free_result si deve mettere dopo mysql_query? (anche se dopo c'è mysql_fetch_* ecc?)

    come non detto..


  8. #8
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    Originariamente inviato da xnavigator
    dan mysql_free_result si deve mettere dopo mysql_query? (anche se dopo c'è mysql_fetch_* ecc?)
    nono... si mette dopo il fetch, una volta che hai elaborato i risultati li cancelli dal buffer

  9. #9
    PS: non sempre mysql_query restituisce una risorsa...può restiture un valore booleano che indica che la query è riuscita o fallita nel caso che non debba ritornare risultati...ad es nel caso di una insert...o nel caso di una alter ... queste ritornano true o false e non una risorsa o false
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.