Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    142

    php update non funziona

    ciao, sono il solito inesperto che cerca di migliorare il componente per joomla che ho completato solo grazie alla correzione nell'ultima discussione aperta ;P grazie ancora...

    ora sono alle prese con la tebella user del mio componente (lo sto ampliando).
    in tale tabella ovviamente non posso aggiungere una riga ogni volta che qualcuno modifica il codice... quindi volevo usare il comando "update" ma non l'ho mai usato ora ho provato quanto segue:

    Codice PHP:
    function getScriviUser() {

    //leggo i dati necessari
            
    $id=$_POST['id'];
            
    $userid=$uid;
            
    $username=$_POST['username'];
            
    $nazienda=$_POST['nazienda'];
            
    $logo=$_POST['logo'];
            
    $area=$_POST['area'];
            
    $zona=$_POST['zona'];
            
    $descrizione=$_POST['descrizione'];
            
    $tel=$_POST['tel'];
            
    $email=$_POST['email'];


            
    //controllo se l'utente è già iscritto nella tabella

            //identifico l'utente loggato
            
    $userl = &JFactory::getUser();
            
    $uid = (int)$userl->id;

            
    //accedo al db
            
    $db = &JFactory::getDBO();
            
    $sql "SELECT * FROM #__messy_user WHERE (userid = '".$uid."')";
            
    $db->setQuery($sql);
            
    $muser $db->loadObjectList();

            
            
    //controllo se scrivere o modificare    
            
    if (count($muser)){

                    
    //modifico
                
    $db = &JFactory::getDBO();
                
    $query="UPDATE #__messy_user SET username=".$username.", nazienda=".$nazienda.", logo=".$logo.", area=".$area.", zona=".$zona.", descrizione=".$descrizione.", tel=".$tel.", email=".$email." WHERE (id = ".$id.")";
                
    $db->setQuery($query) ;
                
    $db->query();
            }else{

                   
    //scrivo
                
    $db = &JFactory::getDBO();
                
    $query="INSERT INTO #__messy_user (userid, username, nazienda, logo, area, zona, descrizione, tel, email) VALUES ('".$userid."', '".$username."', '".$nazienda."', '".$logo."', '".$area."', '".$zona."', '".$descrizione."', '".$tel."', '".$email."')";
                
    $db->setQuery($query) ;
                
    $db->query();
            }
        } 
    noterete che prima ho caricato tutti i dati dal form, poi molto macchinosamente ho eseguito un controllo per verificare se si tratta di una nuova iscrizione o di una modifica ad una già eseguita. dopodichè sono passato all'UPDATE o all'INSERT...

    ora INSERT funziona, ma UPDATE no sono sicuro che sia un'errore di sintassi come l'altra volta (un where senza h ) ma potrei aver sbagliato qualcos'altro qualcuno di voi geni mi può aiutare???

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    142
    ciao, sentite ho provato a stampare $query a video... e mi viene corretto:
    codice:
    UPDATE #__messy_user SET username=valore, nazienda=valore, logo=valore, area=valore, zona=valore, descrizione=valore, tel=valore, email=valore WHERE (id = valore id)
    ma la modifica sul db nn avviene

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    142
    ragazzi ho provato a fare altre prove ma non va non capisco proprio il motivooo

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    intanto nella insert usi userid mentre nell'update usi id deciditi (o ci sono 2 campi uno id e uno userid?????)

    poi nell'update mancano gli apici nei campi char (te li ho messi in tutti ma non so quali siano vermante dei varchar
    Codice PHP:
     $query="UPDATE #__messy_user SET username="'.$username.'", nazienda='".$nazienda."', logo='".$logo."', area='".$area."', zona='".$zona."', descrizione='".$descrizione."', tel='".$tel."', email='".$email."' WHERE (id = ".$id.")"

  5. #5
    Originariamente inviato da uffissimo
    ragazzi ho provato a fare altre prove ma non va non capisco proprio il motivooo
    se stampi l'errore lo potrai vedere il perche'.

    Confronta come hai inserito le stringhe nell'insert e fai lo stesso per l'update utilizzando gli apici.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da bstefano79
    intanto nella insert usi userid mentre nell'update usi id deciditi (o ci sono 2 campi uno id e uno userid?????)

    poi nell'update mancano gli apici nei campi char (te li ho messi in tutti ma non so quali siano vermante dei varchar
    Codice PHP:
     $query="UPDATE #__messy_user SET username="'.$username.'", nazienda='".$nazienda."', logo='".$logo."', area='".$area."', zona='".$zona."', descrizione='".$descrizione."', tel='".$tel."', email='".$email."' WHERE (id = ".$id.")"
    codice:
    SET username='".$username."', .....  etc..

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    142
    grazie provo subito
    comunque sì sono due campi id e userid perchè ho due tabelle diverse per gli utenti normali e per le "aziene"

    ora provo grazie ragazzi

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da piero.mac
    codice:
    SET username='".$username."', .....  etc..
    OPSSSS ho invertito gli apici all'username ^_^

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    142
    ahah grazie ragazzi siete grandi faccio sempre errori stupidissimi ho pensato a tutto ma non agli apici...


    piero.mac come si stampa l'errore??? vabbè me lo cerco in rete come fare... non ti preoccupare GRAZIEEEE...

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.