Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    15

    Problema in query di update con apostrofi

    Salve a tutti,
    ho una query di update di campi mysql che mi da problemi.
    In sostanza recupero i dati da un form di modifica e dovrei aggiornare il db con i nuovi valori.
    Il campo testo però puo' contenere apostrofi, e questo mi aggiunge un carattere \ alla campo del db.
    Ho provato con addslashes prima di passare i dati al db, ma non mi funziona. Memorizza nel db sempre il \.
    Riporto il codice:

    Codice PHP:
    /* Recupera i dati per eseguire l'update da form di modifica */
    $idannuncio $_POST['id_annuncio'];
    $titolo_new addslashes($_POST['titolo_annuncio']);
    $testo $_POST['testo_annuncio']; /* catturo il testo originale */
    $testo_new addslashes($testo);
    $flagbozza_new $_POST['flagbozza_annuncio'];
    $flagarchivia_new $_POST['flagarchivia_annuncio'];
    $dt_new $_POST['dt_annuncio'];
    $dtmod_new $_POST['dtmod_annuncio'];
    $idusermod_new $_POST['idusermod_annuncio'];
    /* Cerco l'annuncio da aggiornare  */
    $query "SELECT * FROM mod_bacheca WHERE id_annuncio = $idannuncio";
    $result mysql_query($query);
    $number mysql_num_rows($result);
    /* Definisco l'id dell'annuncio da ggiornare  */
    $record mysql_fetch_array($result);
    $keyupd $record['id_annuncio'];
    /* Aggiorno il campi dell'annuncio da aggiornare */
    $query2 "UPDATE mod_bacheca SET titolo_annuncio = '$titolo_new', testo_annuncio = '$testo_new', flagbozza_annuncio = '$flagbozza_new', idusermod_annuncio = '$idusermod_new' WHERE id_annuncio = $keyupd";
    $result2 mysql_query($query2); 
    Qualcuno ha un suggerimento su come risolvere?
    Grazie.
    Ultima modifica di ninext72; 19-08-2015 a 18:35

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    E' normale che sia come dici e bisogna lasciare i addslashes.. Se non ci fossero gli \ la query andrebbe in errore nel caso in cui ci fossero ' o ".
    Quando leggi i dati, basta fare stripslashes.
    esempio :
    $pippo = stripslashes($row['pippo']);
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    15
    Ho provato e sembra funzionare.
    Intanto Grazie mille ..
    In questo modo non ci sarebbero più problemi gli apici ed i doppi apici ?? o Mi sbaglio?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    15
    A guardare bene nei campi del db i caratteri \ li memorizza .... è normale??

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Si. addslashes aggiunge i \ davanti a ' e " per ovviare i problemi che avresti quando crei la stringa di una query insert. stripslashes li rimuove.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.