Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Query consecutive

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    158

    Query consecutive

    Ciao a tutti,
    in php faccio una query insert e l'istruzione successiva è una select con una condizione (dove una colonna è uguale a ciò che ho inserito in precedenza).
    Quindi una insert e una select consecutive sulla stessa tabella.
    Il risultato però è che la seconda query è vuota forse perchè devo fare un refresh del db o cos'altro? Come posso farlo? Altrimenti mi tocca dividere tutto su due pagine.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    ciao,

    ho fatto delle prove e non dovrebbero esserci problemi.
    ti posto l'esempio che ho testato

    Codice PHP:
    $query_insert "INSERT INTO dizionario(id,testo) VALUES(11, 'telefono') ";
    $risultato mysql_query($query_insert) or die(mysql_error());

    $query ="SELECT * from dizionario where id=11";
    $sql=@mysql_query($query) or die(@mysql_error());
    while(
    $record=@mysql_fetch_array($sql))
    {
        
    $q_id=$record['testo'];
        echo 
    $q_id;

    Verifica il tuo codice, forse è una stupidaggine


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  3. #3
    Controlla piuttosto che il valore della insert che passi è lo stesso della select che esegui dopo..

    Per controllare al meglio potresti stamparti a video il contenuto delle due query che esegui

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    158
    Sono un paio di giorni che cerco di capire cosa non va, ma non trovo nulla di sbagliato. Sarà una cavolata. QUesto è il codice:
    Codice PHP:
                   //inserisco nuova categoria
            
    $query=mysql_query("insert into t2foto_categoria set
            nome='
    $nome'");
          
            
    //la vado a prendere per passarla allaprossima query
            
    $prendi="select * from t2foto_categoria where nome=$nome"; echo $prendi;
            
    $ris=mysql_query($prendi) or die ('errore a '.mysql_error());
            while(
    $sql=mysql_fetch_array($ris))
            {
    $categoria $sql['id']; }echo'<script>alert('.$categoria.');</script>'
    Grazie

  5. #5
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    modifica
    Codice PHP:
    echo'<script>alert('.$categoria.');</script>'
    con

    Codice PHP:
    echo"<script>alert('$categoria');</script>"


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  6. #6
    O comunque
    Codice PHP:
    echo'<script>alert(\''.$categoria.'\');</script>'
    Ma cosa non ti funziona?

    A livello di query oppure non ti ritorna il risultato?

    Comunque più che
    Codice PHP:
    Select from t2foto_categoria where nome=$nome 
    farei
    Codice PHP:
    Select TOP 1 from t2foto_categoria order by id 
    che ti prende l'ultimo inserimento.

    O ancora meglio mi ricaverei l'id del record appena inserito con

    Codice PHP:
    $inserted_id mysql_insert_id 
    per poi fare
    Codice PHP:
    $prendi "Select * from t2foto_categoria where id = $inserted_id
    Molto più accurato. Soprattutto se, per caso, in 't2foto_categoria' hai già inserito un valore uguale a $nome (tra i due duplicati potrebbe tirarti fuori qualunque record)


  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    158
    Grazie, ora provo il codice.
    Ciò che non funziona è che il risultato della seconda query è vuoto. Mentre se tra la prima ela seconda ricarico la pagina poi funziona.

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.