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

    where in e stampa query

    Ciao a tutti,
    mi sapete dire quale è la sintassi corretta per il WHERE IN?

    Codice PHP:
    $query1=mysql_query("select * from cognomi where nome in('a1','a2','a3')") or die(mysql_error()); 
    E' corretta?
    Inoltre è possibile stampare a video la query? a1,a2,a3 sono valori recuperati da un form, vorrei visualizzare la query prima di eseguirla per verificare che i parametri siano passati correttamente.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    l'operatore IN va bene così... per stampare la query assegnala prima ad una variabile:

    Codice PHP:
    $query "select * from cognomi where nome in('a1','a2','a3')";
    print 
    $query// stampa la query
    $record mysql_query($query) or die(mysql_error()); // esegui la query 

  3. #3
    Grazie.
    Il risultato che ottengo è questo:

    Codice PHP:
    Resource id #18You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #18' at line 1 

  4. #4
    Originariamente inviato da dydale
    Grazie.
    Il risultato che ottengo è questo:

    Codice PHP:
    Resource id #18You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #18' at line 1 
    Si, ma la stampa della query cosa ti restituisce?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    La stampa della query è:
    Codice PHP:
    Resource id #18 
    Il codice che ho nella pagina:

    Codice PHP:
    Resource id #18
    $_gioc1=$_POST['gioc'];
    $_totaley=$_POST['totaley'];

    for (
    $_y=0$_y<$_totaley;++$_y){

    $_gioc1=$_POST['gioc_'.$_y];
    //print_r($_POST['gioc_'.$_y]);
    if ($_y==0){
    $_giocall=$_gioc1;
    }
    if (
    $_y>0){
    $_giocall=$_giocall.', '.$_gioc1;
    }
    }
    $_giocall2=str_replace(", , "", "$_giocall);
    $_giocall3=str_replace(", ""','"$_giocall2);
    $_giocall4='\''.$_giocall3.'\'';
    echo 
    $_giocall4
    $_giocall4 stampa
    Codice PHP:
    'a11','a10','a9','a8','a7','a6','a5','a4','a3','a2','a1' 
    e la query è:
    Codice PHP:
    $query1=mysql_query("select * from giocatori where nome in($_giocall4)");
    print 
    $query1// stampa la query 

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ... ma non è quello che ti ho scritto ... devi assegnare alla query solo la stringa, così tu stai usando già il RISULTATO della query... rivedi il mio post di prima

  7. #7
    Ops. Ok funziona Almeno come visualizzazione della query

  8. #8
    Originariamente inviato da eiyen
    l'operatore IN va bene così... per stampare la query assegnala prima ad una variabile:

    Codice PHP:
    $query "select * from cognomi where nome in('a1','a2','a3')";
    print 
    $query// stampa la query
    $record mysql_query($query) or die(mysql_error()); // esegui la query 
    Non hai fatto quello che ti ha suggerito eiyen!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Scusate, scusate, non mi ero accorto di una parte della modifica. La query viene visualizzata correttamente, ma non trova nessun risultato nel database

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ma dovrebbe? eseguila anche in phpmyadmin e posta cmq almeno un record che secondo te dovrebbe restituire

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.