Visualizzazione dei risultati da 1 a 3 su 3

Discussione: variabili in query sql

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420

    variabili in query sql

    Ciao a tutti e grazie anticipato a chi mi darà una mano...
    A scopo didattico sto creando questa funzione che estrae 3 articoli da un elenco di 10 e per ognuno ne imposta una quantità da 1 a 5 (anche sovrascrivendo se capita lo stesso articolo).
    La chiave primaria è l'id che mi identifica eventualmente l'acquirente e non il prodotto, mentre "$link" è la connessione al DB, che funziona correttamente in quanto la prima query va a buon fine...
    Il mio primo dubbio è se sia possibile definire dinamicamente anche il campo da aggiornare, e non solo il valore da assegnargli (così come ho provato a fare), e nel caso non fosse possibile in che altro modo posso ottenere questo risultato?
    Così com'è questo codice mi popola TAB1 con l'id dell'acquirente ma non aggiorna i campi dopo le 3 estrazioni... magari è solo sbagliata la sintassi ma sono fulminato perchè nn riesco a correggere :-s

    codice:
    function prova($link, $id)   {
        $query1 = "INSERT INTO TAB1(ID) VALUES('$id')";
        mysql_query("$query1","$link");
    
        for ($i=0; $i<3; $i++)    {
            $num1 = rand(0,9);
            $num2 = rand(1,5);
    
            switch ($num1)    {
                case 0: $articolo = "penne"; break;
                case 1: $articolo = "matite"; break;
                case 2: $articolo = "quaderni"; break;
                //tutti gli altri casi
    
                $query2 = "UPDATE TAB1 SET '$articolo' = '$num2' WHERE ID = '$id'";
                mysql_query("$query2","$link");
            }
        }
    }
    Edit: lo schema di TAB1 è id|penne|matite|quaderni|libri|ecc

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    mysql_query("$query2","link");

    mysql_query("$query2","$link");

    manca il dollaro

    metti sempre mysql_query("$query2","$link") or die(mysql_error());

    almeno vedi l'errore(almeno in fase di test)

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Ciao, grazie per la risposta prima di tutto;
    ho corretto il codice riportato qui sul forum perchè quello originale è corretto quindi dev'essere qualche altra cosa che non va...
    Ho aggiunto anche il controllo sull'errore come mi hai indicato ma non mi da nessun errore... quindi dev'essere un problema di forma più che di sostanza... forse non trova i campi o qualcosa del genere...
    E' corretto indicare i campi da aggiornare in quel modo li?

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.