+ Rispondi alla Discussione
Risultati da 1 a 5 di 5

Errore Query fetch

Ultimo Messaggio di Luca_Bleve il:
  1. #1
    User Newbie
    Data Registrazione
    Apr 2009
    Messaggi
    8

    Errore Query fetch

    Salve a tutti ho un problema riguardante una query alla quale inserisco una condizione subquery che mi restituisce errore e non riesco a capire il perch :

    Codice:
    $studio=str_replace("-", " ",$_POST['d-list']);
    $result=mysql_query("SELECT codice FROM Studi WHERE nome='".$studio."'"); 
    $row = mysql_fetch_row($result);
    $codice=$row[0];
    $result=mysql_query("SELECT id, nome , cognome FROM Volontari WHERE id= (SELECT id FROM Adesioni WHERE $codice='1')"); 
    $nDati = mysql_fetch_row($result);
    Il mio intento prendere il codice dello studio dalla tabella studi quando la variabile inviata post uguale al nome dello studio.
    Successivamente leggere id nome e cognome da volontari quando id presente in adesioni ha nome della colonna uguale al nome del codice dentro studi = a 1 (In poche parole se uno ha aderito ad uno studio sotto la colonna del codice ha 1 o 0 se non ha aderito).
    Ma restituisce il classico errore mysql , eliminando la subquery non restituisce errore quindi il problema quest'ultima "La prima volta che ne uso una" , per altro mi sapreste dire se a livello logico il mio codice buono e se per caso si puo' usare un'altra strada per ricavare gli stessi dati ?

    Grazie anticipatamente a tutti

  2. #2
    User L'avatar di Francesco Di Caprio
    Data Registrazione
    Mar 2013
    Localit
    Caserta
    Messaggi
    216
    Segui Francesco Di Caprio su Twitter Aggiungi Francesco Di Caprio su Google+ Aggiungi Francesco Di Caprio su Facebook Aggiungi Francesco Di Caprio su Linkedin
    Ti d errore perch nella seconda query, la colonna $codice, non esiste. $codice una variabile PHP. Se il campo si chiama codice, allora la query :

    $result=mysql_query("SELECT id, nome , cognome FROM Volontari WHERE id= (SELECT id FROM Adesioni WHERE codice=$codice)");
    Endelab - Web Development

  3. #3
    User Newbie
    Data Registrazione
    Apr 2009
    Messaggi
    8
    Ho risolto cosi
    Codice:
    $studio=str_replace("-", " ",$_POST['d-list']);
    $result=mysql_query("SELECT codice FROM Studi WHERE nome='$studio'"); 
    $row = mysql_fetch_row($result);
    $codice=$row[0];
    $result=mysql_query("SELECT  nome, cognome , citta , data , tel ,info ,ninfo, email FROM Volontari WHERE id IN (SELECT id FROM Adesioni WHERE $codice='1') AND activation = '1'"); 
    $nDati = mysql_num_rows($result);

  4. #4
    User L'avatar di Francesco Di Caprio
    Data Registrazione
    Mar 2013
    Localit
    Caserta
    Messaggi
    216
    Segui Francesco Di Caprio su Twitter Aggiungi Francesco Di Caprio su Google+ Aggiungi Francesco Di Caprio su Facebook Aggiungi Francesco Di Caprio su Linkedin
    Forse non ho capito quale sia il contesto, ma non ho capito che cosa hai risolto...

    SELECT nome, cognome , citta , data , tel ,info ,ninfo, email FROM Volontari WHERE id IN (SELECT id FROM Adesioni WHERE $codice='1') AND activation = '1'

    $codice un valore... ammesso che vale 1, quella query 1='1', non il nome di un campo...

    Se per dici che va bene per te, va bene anche per me.
    Endelab - Web Development

  5. #5
    User Newbie
    Data Registrazione
    Apr 2009
    Messaggi
    8
    Praticamente invio da un form uno studio ad esempio "crema-viso" viene sistemato diventando "crema viso" e messo nella variabile studio.
    Effettuo la queri dove cerco il codice dalla tabella studi con nome = studio.
    Effettuo un fetch e mi trovo il rispettivo codice dello studio prelevandolo dalla tabella studi ad esempio ipotiziamo che il codice sia ASD.
    Successivamente prelevo tutti i dati dalla tabella volontari quando l'id uguale a quello presente nella tabella adesioni al quale sotto la colonna che ha come nome ASD c 1 quindi si avr :


    $studio=str_replace("-", " ",$_POST['d-list']); //crema-viso -> crema viso$result=mysql_query("SELECT codice FROM Studi WHERE nome='$studio'"); $row = mysql_fetch_row($result);$codice=$row[0]; // crema viso -> ASD$result=mysql_query("SELECT nome, cognome , citta , data , tel ,info ,ninfo, email FROM Volontari WHERE id IN (SELECT id FROM Adesioni WHERE $codice='1') AND activation = '1'"); //$codice= ASD $nDati = mysql_num_rows($result);

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] Attivato
  • Il codice [VIDEO] Attivato
  • Il codice HTML Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.