Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    While mysql_fetch_array

    Questa query
    codice:
    SELECT * FROM incontri
    JOIN campionato ON incontri.campionato = campionato.id 
    JOIN squadre AS sqc ON incontri.sq_casa = sqc.id 
    JOIN squadre AS sqo ON incontri.sq_osp = sqo.id 
    WHERE campionato='1' AND giornata='1'
    da' un errore: "mysql_fetch_array() expects parameter 1 to be resource, boolean given in ..." appena entra in azione il While
    Codice PHP:
    $res mysql_query($query$db);
    while ( 
    $val mysql_fetch_array($res) )
    { ... 
    ...eppure se la eseguo dentro phpmyadmin va a buon fine senza produrre errori.
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503

    Re: While mysql_fetch_array

    Originariamente inviato da ricman
    codice:
    SELECT * FROM incontri
    JOIN campionato ON incontri.campionato = campionato.id 
    JOIN squadre AS sqc ON incontri.sq_casa = sqc.id 
    JOIN squadre AS sqo ON incontri.sq_osp = sqo.id 
    WHERE campionato='1' AND giornata='1'
    La scrivi così nel codice php?
    Suppongo tu la crei con delle variabili, non è che qualcuna delle variabili non inserisce il valore che ti aspetti rendendo sbagliata la query?

    Prova a stamparla con un echo e vedi se è come dovrebbe essere.

  3. #3

    Re: Re: While mysql_fetch_array

    Originariamente inviato da Alhazred
    La scrivi così nel codice php?
    Più o meno si... Il mio file di test è questo

    Codice PHP:
    $campionato 1;
    $giornata 1;
    $query "SELECT * FROM incontri
                JOIN campionato
                ON incontri.campionato = campionato.id
                
                JOIN squadre AS sqc
                ON incontri.sq_casa = sqc.id
                
                JOIN squadre AS sqo
                ON incontri.sq_osp = sqo.id
                
            WHERE campionato='
    $campionato' AND giornata='$giornata'
    "
    ;
    echo 
    $query;
    $res mysql_query($query$db);
    while ( 
    $val mysql_fetch_array($res) )
    { ... } 
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Se i campi campionato e giornata sono definiti nel DB come INT, prova a rimuovere gli apici attorno alle variabili $campionato e $giornata.

  5. #5
    Originariamente inviato da Alhazred
    Se i campi campionato e giornata sono definiti nel DB come INT, prova a rimuovere gli apici attorno alle variabili $campionato e $giornata.
    Si, sono INT ma il risultato non cambia ...

    Questa è la tabella:


    Aggiungo anche la query eseguita su mysql
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  6. #6
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, conviene sempre fare dei controlli sull'effettivo svolgimento della query prima di darla in pasto al ciclo.
    Codice PHP:
    $campionato 1
    $giornata 1
    $query "SELECT * FROM incontri 
                JOIN campionato 
                ON incontri.campionato = campionato.id 
                 
                JOIN squadre AS sqc 
                ON incontri.sq_casa = sqc.id 
                 
                JOIN squadre AS sqo 
                ON incontri.sq_osp = sqo.id 
                 
            WHERE campionato='
    $campionato' AND giornata='$giornata
    "

    echo 
    $query
    $res mysql_query($query$db);
    if(
    $res){
    while ( 
    $val mysql_fetch_array($res) ) 
    { ... }
    }
    else{
    echo 
    "Errore query";


  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da jcsnake
    Ciao, conviene sempre fare dei controlli sull'effettivo svolgimento della query prima di darla in pasto al ciclo.
    Codice PHP:
    $campionato 1
    $giornata 1
    $query "SELECT * FROM incontri 
                JOIN campionato 
                ON incontri.campionato = campionato.id 
                 
                JOIN squadre AS sqc 
                ON incontri.sq_casa = sqc.id 
                 
                JOIN squadre AS sqo 
                ON incontri.sq_osp = sqo.id 
                 
            WHERE campionato='
    $campionato' AND giornata='$giornata
    "

    echo 
    $query
    $res mysql_query($query$db);
    if(
    $res){
    while ( 
    $val mysql_fetch_array($res) ) 
    { ... }
    }
    else{
    echo 
    "Errore query";

    Sarebbe meglio un or die(mysql_error())

  8. #8
    Originariamente inviato da RoTeam
    Sarebbe meglio un or die(mysql_error())
    Perfetto... figura di M!! Leggendo il mysql_error mi sono accorto di un errore di battititura nel nome del db nel file di configurazione (una "l" al posto di una "i")

    Vorrei però fare una domanda riguardo al risultato di tale query: la foto che ho allegato mostra in fondo a destra 3 frecce rosse. Come richiamo i diversi campi "nome" dentro il While?
    Codice PHP:
    while ( $val mysql_fetch_array($res) )  
    {
        echo 
    "Squadra Casa:   " $val['nome'];
        echo 
    "
    "
    ;
        echo 
    "Squadra Ospite: " $val['nome'];

    Ovviamente il risultato è lo stesso nome...

    Riallego la foto per completezza
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da ricman
    Perfetto... figura di M!! Leggendo il mysql_error mi sono accorto di un errore di battititura nel nome del db nel file di configurazione (una "l" al posto di una "i")

    Vorrei però fare una domanda riguardo al risultato di tale query: la foto che ho allegato mostra in fondo a destra 3 frecce rosse. Come richiamo i diversi campi "nome" dentro il While?
    Codice PHP:
    while ( $val mysql_fetch_array($res) )  
    {
        echo 
    "Squadra Casa:   " $val['nome'];
        echo 
    "
    "
    ;
        echo 
    "Squadra Ospite: " $val['nome'];

    Ovviamente il risultato è lo stesso nome...

    Riallego la foto per completezza
    Piu che altro mi chiedo come hai fatto a creare piu campi con lo stesso nome
    visto che dovrebbe dare l'errore di un duplicate column (come in effetti da provando)
    poi non ho capito il senso, dovevi chiamarli proprio tutti e 3 uguali?

  10. #10
    Originariamente inviato da RoTeam
    Piu che altro mi chiedo come hai fatto a creare piu campi con lo stesso nome
    visto che dovrebbe dare l'errore di un duplicate column (come in effetti da provando)
    poi non ho capito il senso, dovevi chiamarli proprio tutti e 3 uguali?
    Nella foto che ho allegato però l'errore che dici tu a me non lo da'...
    Di fatto io ho 3 tabelle:
    - campionato: id, nome
    - squadre: id, nome
    - incontri: id, campionato (INT), giornata (INT), data, sq_casa (INT), sq_osp (INT)

    ...e il risultato della query è come da foto. E, essendo tabelle separate, uno è libero di chiamare il campo nome "nome" ... non ci vedo nulla di male...

    Evidentemente sbaglio a scrivere la query... mi ci vorrebbe qualche AS in più forse?
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

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.