Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    SQL UPDATE tabella con \'

    Ciao, devo fare un semplice update di una tabella

    Codice PHP:
    $sql "UPDATE alloggiati_comuni SET cod_catastale='$cod_catastale' WHERE nome = '$nome_comune'"

    Il mio problema è che i nomi dei comuni sono così salvati nella tabella LONGIARU', PEZZOLO DE' CODAZZI, RONCA DE' GOLFERANI ecc.

    mentre il $nome_comune in locale ha l'addslashes, quindi LONGIARU\', PEZZOLO DE\' CODAZZI, RONCA DE\' GOLFERANI ecc.

    Come posso risolvere? Ho provato di tutto ma mando sempre in errore lo script ... Grazie infinite a chiunque mi possa aiutare.

  2. #2
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    Quote Originariamente inviata da !!\Freedom9/!! Visualizza il messaggio
    Ciao, devo fare un semplice update di una tabella

    Codice PHP:
    $sql "UPDATE alloggiati_comuni SET cod_catastale='$cod_catastale' WHERE nome = '$nome_comune'"

    Il mio problema è che i nomi dei comuni sono così salvati nella tabella LONGIARU', PEZZOLO DE' CODAZZI, RONCA DE' GOLFERANI ecc.

    mentre il $nome_comune in locale ha l'addslashes, quindi LONGIARU\', PEZZOLO DE\' CODAZZI, RONCA DE\' GOLFERANI ecc.

    Come posso risolvere? Ho provato di tutto ma mando sempre in errore lo script ... Grazie infinite a chiunque mi possa aiutare.

    A parte che è un backslash e non 'addslashes che non ha senso,comunque, lo hai aggiunto tu nella tabella dei comuni?
    Ultima modifica di vnt54; 03-11-2022 a 23:26
    Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    191
    Se il tuo input (stringa o file). Una stringa php racchiusa da apici singoli utilizza l'escape che in php è il backslash per rappresentare l'apice singolo mentre da file o altro input non produce errore di sintassi anche se la stringa racchiusa da apici singoli contiene apice singolo e senza escape.
    Come dice il manuale mysql A ' inside a string quoted with ' may be written as ''. La stringa hel'lo può essere fuggita SELECT 'hel''lo'; // se la stringa è fornita tramite stringa con apici singoli in php occorre aggiungere il backslash $var = 'SELECT \'hel\'\'lo\';';
    Codice PHP:
    <?php

    //Stringa php tra apici singoli
    $php_string 'PEZZOLO DE\' CODAZZI';
    var_dump($php_string); // Output valore PEZZOLO DE' CODAZZI
    $copia_per_valore $php_string// la variabile copia per valore con l'operatore di assegnazione =


    //mysql stringa tra apici singoli specialmente per la clausola WHERE
    $mysql_string str_replace('\'''\\\''$copia_per_valore);
    var_dump($mysql_string); // Output valore PEZZOLO DE\' CODAZZI
    $var 'Comune ' $mysql_string;
    var_dump($var); // Output valore Comune PEZZOLO DE\' CODAZZI
    ?>
    Se l'inserimento è con escape mysql (tra cui anche il backslash o più raramente apici singoli) non ricordo se poi nel recupero con la SELECT non si visualizza.
    Spero sia chiaro cosa sia input e poi output
    Ultima modifica di darbula; 04-11-2022 a 14:39

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.