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

Discussione: problemi con una query

  1. #1

    problemi con una query

    Ciao ragazzi come faccio ad inserire con una sola query i dati provenienti da un form e che devono essere inseriti in due tabelle diverse?

    codice:
    USERNAME
    PASSWORD
    EMAIL
    ..
    ..
    ..
    ECC.
    
    VANNO NELLA TABELLA UTENTE
    
    POI VI SONO ALTRI CAMPI NELLA VOCE INTERESSI FACENTI PARTE DELLO STESSO FORM
    
    SCUOLA
    SPORT
    CINEMA
    ..
    ..
    ..
    ECC.
    Se l'utente spunta anche le voci che fanno parte della categoria interessi come faccio ad inserirli insieme ai dati normali in una tabella diversa? grazie anticipatamente

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Due tabelle diverse = due queries.


  3. #3

    codice

    posto il codice non riesco a farlo funzionare per come l'ho fatto ma non va bene!!!!

    codice:
    <?
    	 
            
    mysql_connect("localhost", "root", "") or die("impossibile connettersi al server"); 
    mysql_select_db("prova")or die("No database");
     
    $query=" INSERT INTO utenti (id_utente, nome_utente, password, email, telefono, compleanno, sesso, cittaresidenza, cap, provincia, nazione, professione) 
             VALUES ('',
    						'$nome_utente',
    						'$password',
    						'$email',
    						'$telefono',
    						'$compleanno',
    						'$sesso',
    						'$cittaresidenza',
    						'$cap',
    						'$provincia',
    						'$nazione',
    						'$professione')";
    						
    "INSERT INTO interessi (id_interessi, utenti_id_utente, auto, musica, computer, sport, internet, viaggi, altro)	
    				 VALUES ('', '',
    				        '$auto',
    						'$musica',
    						'$computer',
    						'$sport',
    						'$internet',
    						'$viaggi',
    						'$altro')";
    
    						
    						
    		mysql_query($query) or die("Impossibile eseguire query"); 
            mysql_close(); 
    
          ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Devi recuperare l'id inserito nella prima tabella e passarlo nel campo apposito della seconda.
    codice:
    <?
    mysql_connect("localhost", "root", "") or die("impossibile connettersi al server");
    mysql_select_db("prova")or die("No database");
     
    $query1=" INSERT INTO utenti (id_utente, nome_utente, password, email, telefono, compleanno, sesso, cittaresidenza, cap, provincia, nazione, professione)
             VALUES ('',
                '$nome_utente',
                '$password',
                '$email',
                '$telefono',
                '$compleanno',
                '$sesso',
                '$cittaresidenza',
                '$cap',
                '$provincia',
                '$nazione',
                '$professione')";
    
    $resource = mysql_query($query1) or die("Impossibile eseguire query");
    
    $insert_id = mysql_insert_id($resource);
    
    $query2="INSERT INTO interessi (id_interessi, utenti_id_utente, auto, musica, computer, sport, internet, viaggi, altro)
             VALUES ('',
                '$insert_id',
                '$auto',
                '$musica',
                '$computer',
                '$sport',
                '$internet',
                '$viaggi',
                '$altro')";
    mysql_query($query2) or die("Impossibile eseguire query");
    
            mysql_close(); 
    
          ?>

  5. #5
    non va mi da questo errore:

    Warning: mysql_insert_id(): supplied argument is not a valid MySQL-Link resource in c:\programmi\apache

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Già, vuole l'identificativo di connessione :master:

    Lascia vuoto per il default, visto che non salvi l'id di connessione.


    $insert_id = mysql_insert_id();



  7. #7
    ciao ho provato ad inserire i dati appartenenti ad un form e da inserire in due tabelle diverse in un db con la query ma la prima va a buon fine la seconda no. Non so dove sbaglio praticamente non mi inserisce i valori nella tabella interessi mette solo "0" nei campi id. Posto la query ed il link per lo schema del db che ho realizzato.


    www.javaweb.it/db/schema_db_registrazione.html

    codice:
    <?
    mysql_connect("localhost", "root", "") or die("impossibile connettersi al server");
    mysql_select_db("test")or die("No database");
     
    $query1=" INSERT INTO utenti (id_utente, nome_utente, password, email, telefono, compleanno, sesso, cittaresidenza, cap, provincia, nazione, professione)
             VALUES ('',
                '$nome_utente',
                '$password',
                '$email',
                '$telefono',
                '$compleanno',
                '$sesso',
                '$cittaresidenza',
                '$cap',
                '$provincia',
                '$nazione',
                '$professione')";
    
    $resource = mysql_query($query1) or die("Impossibile eseguire query");
    
    $insert_id = mysql_insert_id(); 
    
    //$insert_id = mysql_insert_id($resource);
    
    $query2="INSERT INTO interessi (id_interessi, utenti_id_utente, auto, musica, computer, sport, internet, viaggi, altro)
             VALUES ('',
                '',
                '$auto',
                '$musica',
                '$computer',
                '$sport',
                '$internet',
                '$viaggi',
                '$altro')";
    			
    mysql_query($query2) or die("Impossibile eseguire query");
    
    mysql_close(); 
    
          ?>

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    codice:
             VALUES ('',
                '$insert_id',
                '$auto',
    Hai dimenticato di mettere l'id estratto. I campi id_utenti e id_interessi devono essere auto_increment quindi automaticamente riempiti con l'insert. Per quanto riguarda gli altri dati dipende dal form e non dalla query.

    Fai la stampa delle variabili per vedere i dati che inserisci.

    echo "
    query1: $query1
    query2: $query2
    ";

    Prima della fine dello script.

  9. #9
    si Pier... grazie avevo già risolto, a parte l'identificativo mi mancava una voce che avevo nel form ma non nel db e mi dava errore.

  10. #10
    ora l'unico problema che ho è che nel form prendo la data nel formato mm/gg/anno mentre nel db(mysql) il campo data(date)lo prende anno/mm/gg come faccio a cambiare prima che venga inserito nel db? questo per evitare di utilizzare un campi text al posto di date.

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.