Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    Update che non va (strano)

    Solite cose banali, sulle quali si sbatte la testa fin troppo - a volte...
    Allora, ho una pagina con questo codice:
    Codice PHP:
    switch ($action) {
        case 
    "del";
            switch (
    $tab) {
            case 
    "one";
    $query = ("UPDATE '$table' SET 
      marchio = '
    $empty',
      marca = '
    $empty',
      gm = '
    $empty'
      WHERE pp_id = '
    $ppid'";
    $result mysql_query($query)
        or die(
    "Query failed");
            break;
            case 
    "two";
    $query = ("UPDATE '$table' SET 
      cod = '
    $empty',
      gm2 = '
    $empty',
      pezzi = '
    $empty',
      cartoni = '
    $empty'
      WHERE pp_id = '
    $ppid'";
    $result mysql_query($query)
        or die(
    "Query failed");
            break;
            }
        break;

    (seguono altri case, diversi da del; ho chiuso qui la parentesi }, per non far pensare che l'errore fosse lì...)

    A questa pagina passo dei dati, necessari allo svolgimento dell'operazione prevista dal codice qui sopra.
    Questi dati passano (faccio anche un echo per verificare) e sono esatti.
    Però, la pagina mi dà errore:
    Parse error: parse error in D:\Inetpub\webs\alimencoit\modificator.php on line 31
    laddove la linea 31 è:
    Codice PHP:
    WHERE pp_id '$ppid'"; 
    Perchè mai fa così?
    Tra l'altro, lo fa anche se provo a passare dei dati che riguardano un'altro case; cioè, se passo - ad es. - questa serie di valori:
    $table = pomodori
    $ppid = 12
    $tab = two
    $action = mod
    $f1 = 10
    $f2 = 320
    $f3 = 1.200
    $f4 = 150
    nonostante sia l'$action faccia riferimento ad un case diverso, ed anche il $tab faccia altrettanto - quindi, a rigor di logica, non essendosi verificata la condizione richiesta per il primo case, non dovrebbe nemmeno prendere in considerazione la funzione prevista - mi da questo errore.
    Qualcuno mi sa aiutare?
    metatad
    graphic & web design

  2. #2
    Ti suggerisco di partire dalla sintassi base:

    http://www.php.net/manual/en/control...res.switch.php
    switch ($i) {
    case 0:
    echo "i equals 0";
    break;
    case 1:
    echo "i equals 1";
    break;
    case 2:
    echo "i equals 2";
    break;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    è da li che sono partito...
    metatad
    graphic & web design

  4. #4
    Originariamente inviato da metatad
    è da li che sono partito...
    Convinto tu, peccato che hai messo dei ; dove invece ci dovrebbero stare dei :

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    si, hai ragione, ho messo dei punti e virgola al posto dei due punti (forse, era anche più semplice dirlo subito, visto che è chiaramente una svista...).
    Ma il problema non è li.
    Intanto perchè questo problema me lo dava - uguale uguale - anche prima, quando avevo usato l'if; secondo, perchè mi dovrebbe dare un diverso errore, e last but not least, perchè ho corretto la svista e continua a dare sempre lo stesso identico errore...
    cmq, grazie per avermi fatto notare la questione ;/:
    metatad
    graphic & web design

  6. #6
    Sempre parlando di sviste ...

    Codice PHP:
    $query = ("UPDATE '$table' SET 
    Codice PHP:
    $query "UPDATE '$table' SET 

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ecco, lo sapevo...
    è sempre così, come con i refusi tipografici... se non te ne accorgi subito, lo guardi cento volte e non lo vedi più...

    chissà da dove mi è uscita quella parentesi tonda... i guai del copia/incolla...
    cmq, il bello è che la query fallisce, adesso!
    porc...

    Per essere sicuro di individuare quale query fallisse, le ho numerate. In effetti, quella che non funge è quella giusta (cioè, corrisponde alla condizione determinata dai dati che ho passato).
    Però...
    Questa è la query:
    Codice PHP:
    $query "UPDATE '$table' SET 
      cod = '
    $f1',
      gm2 = '
    $f2',
      pezzi = '
    $f3',
      cartoni = '
    $f4'
      WHERE pp_id = '
    $ppid'";
    $result mysql_query($query)
        or die(
    "Query 4 failed"); 
    Tutti i valori richiesti vengono passati correttamente (prima di fare le query, faccio un
    Codice PHP:
    echo $table $ppid $f1 $f2 $f3 $f4
    e i dati ci sono tutti, e sono giusti.
    Allora? Che c____o succede?
    metatad
    graphic & web design

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ok, risolto...
    Bastava togliere gli apici dalla variabile $table.
    Codice PHP:
    UPDATE $table SET 
    invece che
    Codice PHP:
    UPDATE '$table' SET 
    sgrunt...

    Cmq, grazie del supporto ( e della sopportazione... )
    metatad
    graphic & web design

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.