Visualizzazione risultati 1 fino 5 di 5

Discussione: Problema Query SQL con PHP

  1. #1
    Guest

    Predefinito Problema Query SQL con PHP

    Buon pomeriggio, sto costruendo un sito con una votazione tra 2 voto e ho un grosso problema quando faccio il comando update.

    Mi spiego meglio: prendo 2 foto a caso dal mio db (uso phpmyadmin su piattaforma di altervista) e cliccando su una passo alla stessa pagina l'id della foto e il suo contatore attuale, poi nella pagina prendo con il get i valori di questi due parametri, incremento di uno il contatore e procedo con l'update con sql. Il problema che i parametri passati sono giusti ma nel db, una volta riaggiornato, il contatore della foto scelta ritorna a 1 (indistintamente dal valore precedente)

    Posto il codice di quanto scritto sopra

    Codice PHP:
    if ((!isset($_GET['voto']))and (!isset($_GET['c'])))
    {
    ?>
    <center> <table valign='top' style=';margin-left:25px' align='center'>
    <tr> <td hight='400px' valign='top' align='center'>
    <a href='index.php?voto=<?php echo $id1; ?>&c=<?php echo $cont1; ?>'>
    <img valign='top' src='foto/<?php echo $foto1; ?>' width='250px' style='max-heigth:400px'/></a> </td>
    <td hight='400px' valign='top' align='center'>
    <a href='index.php?voto=<?php echo $id2; ?>&c=<?php echo $cont2; ?>'>
    <img valign='top' src='foto/<?php echo $foto2; ?>' width='250px'/></a>
    </td> </tr>
    <tr> <td align='center'>
    <?php echo $nome1; ?> </td> <td align='center'><?php echo $nome2; ?></td>
    </tr> </table>
    </center>
    <?php
    } else {
    $id=$_GET['voto'];
    $c=$_GET['c'];
    $cont=(int)$c;
    $cont =$cont + 1;
    echo
    $cont;
    echo
    "<br>";
    echo
    $id;
    $sql_update= " UPDATE foto SET count=$cont WHERE id_foto=$id";
    $query_update1 = mysql_query($sql_update, $db) or die("errore nella composizione della query4"); ?>
    Dove $id1 e 2 e $count1 e 2 sono le variabili in cui sono contenuti rispettivamente gli id delle foto e i loro attuali contatori. Ho aggiunto anche un echo dei dati che ho preso con il GET per un controllo aggiuntivo a video.

    Nel db la variabile count è un int(11).

    Non so proprio cosa possa causare questo errore! Grazie in anticipo per la risposta!

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    non ho guardato il resto del codice, ma nella query mancano gli apici:
    Codice PHP:
    $sql_update= "UPDATE foto SET count='$cont' WHERE id_foto='$id'";
    Ultima modifica di EuroSalute : 11-10-2011 alle ore 17.51.00 Motivo: ....info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    Guest

    Predefinito

    Se sono entrambi interi gli apici non servono visto che servono solo per le stringhe

  4. #4
    L'avatar di s7ntech
    s7ntech non è connesso AlterVistiano
    Data registrazione
    26-09-2004
    Messaggi
    758

    Predefinito

    provare a fare un echo di $sql_update e ad eseguirla attraverso phpmyadmin, se viene eseguita senza errori potrai vedere le differenza tra la tua query e quella che ti viene stampata, al contrario potrai corregere l'errore
    ___________________________________________
    is mail or not is mail?
    -------------------------------------------------
    Ogni uomo e' gia' per meta' innamorato di una donna che lo sta a sentire (Francis)
    presa da http://loki88.altervista.org/

  5. #5
    Guest

    Smile

    Problema risolto cambiando un attimo l'sql! Non so cm mai non mi è venuta subito la soluzione...

    Codice PHP:
    $sql_update= " UPDATE foto SET count=count+1 WHERE id_foto=$id";
    mysql_query($sql_update) or die("errore nella composizione della query4");

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •