Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    54

    UPDATE su mysql non correttamente funzionante

    Buonasera.
    Ho un file edit.php che raccoglie una lista di news e le linka ad altri 2 file: uno che le cancella dalla tabella (e funziona correttamente per cui non lo posto) l'altro che ne modifica il testo ed il titolo.

    QUEST'ULTIMO (filetre.php) raccoglie correttamente sia il titolo che il testo dal Db e lo inserisce nel form, tuttavia una volta modificato non da' nessun errore ma non modifica nemmeno l'articolo.

    Posto il codice, se qualcuno vuol provarlo o vede l'errore mi fa cosa gradita. Saluti Leonardo

    <?php
    include 'connect.php';

    $leo=mysql_query("SELECT * FROM tabella ORDER BY ID ASC") or die(mysql_error());

    while ($row = mysql_fetch_array($leo)){
    echo "<div id=\"news\">";
    echo "<h2>".$row['titolo']."</h2>
    ";
    echo "

    ".$row['testo']."</p>
    ";
    echo "<a href=\"fileuno.php?id=$row[id]\">Cancella</a> ";
    echo " | ";
    echo "<a href=\"filedue.php?id=$row[id]\">Modifica</a><hr> ";
    echo "</div>";
    }

    ?>

    filedue.php

    <html lang="it">
    <head>
    <title></title>
    </head>
    <body>

    <?php
    $conn = mysql_connect("host", "user", "psw") or die(mysql_error());
    $db = mysql_select_db("database") or die(mysql_error());

    $query = "SELECT * FROM TABELLA WHERE id = $_GET[id]" or die('qui ce un errore');
    $result = mysql_query ($query);

    $leo = mysql_fetch_array ($result);
    ?>


    <form action="filetre.php" method="post" name="edit" >
    <table>
    <tr>
    <td><input type="text" name= "titolo" value= '<? echo $leo['titolo'] ;?>' </td>
    </tr>
    <tr>
    <td><textarea style="height:300px; width:480px;" name="testo"><? echo $leo['testo'] ;?></textarea></td>
    </tr>

    <tr>
    <td><input type="hidden" name="id" value= '<? echo $_GET['id'] ;?>' </td> <td><input type="submit" name="go" value="modifica l'articolo "/></td>
    </tr>

    </table>
    </form>
    </body>

    </html>


    filetre.php

    include 'connect.php';

    $agg = "UPDATE 'tabella' SET titolo = '$_POST[titolo]',testo = '$_POST[testo]', WHERE ID = '$_POST[id]' " or die('errore update') ;

    $result = mysql_query ($agg);

    header("location:edit.php");

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    hai una virgola di troppo nella query(dopo la variabile $_POST['testo']) e non vedi errori perchè l'or die è nel posto sbagliato:

    Codice PHP:
    $agg "UPDATE 'tabella' SET titolo = '$_POST[titolo]',testo = '$_POST[testo]' WHERE ID = '$_POST[id]' ";

    $result mysql_query ($agg) or die('errore update'.mysql_error()) ; 
    cosi dovrebbe andare

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    54
    provo subito, grazie. Ti so dire.

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    hai una virgola di troppo nella query(dopo la variabile $_POST['testo']) e non vedi errori perchè l'or die è nel posto sbagliato:

    Codice PHP:
    $agg "UPDATE 'tabella' SET titolo = '$_POST[titolo]',testo = '$_POST[testo]' WHERE ID = '$_POST[id]' ";

    $result mysql_query ($agg) or die('errore update'.mysql_error()) ; 
    cosi dovrebbe andare



    [EDIT] post ripetuto per errore
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    54
    errore update You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tabella' SET titolo = 'titolo titolo del post', testo = 'testo del post' WHERE ID = '1'' at line 1

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    54
    ho tolto gli apici da 'tabella' ed ora funziona . Grazie mille per l'aiuto. ciao

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.