Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181

    [php] errore nella quesry insert

    Ciao a tutti
    1.ho creato una query per inserire dei dati nel database. la query deve inserire un dato in una colonna di tipo char. quando però va ad inserire una parola apostrofata mi da errore mentre se non inserisco l'apostrofo funziona perfettamente.
    come mai? come posso risolvere?
    la query è riportata sotto e la colonna in questione è "stadio_inf"

    codice:
    $query8 = mysql_query("INSERT INTO efficacia (rif_eff, rif_infestante, stadio_inf, stadio_bbch, inerb_test, efficacia) VALUES ($num, $infestante, '$stadioinf', '$bbch', $inerbtest, $eff)");
    2. inoltre ho notato che per le colonne di tipo char stadio_inf, stadio_bbch, se non inserisco la variabile corrispondente tra apici non mi inserisce i dati correttamente '$stadioinf', '$bbch', in quali casi la variabile nella query va messa tra apici?

  2. #2
    Prenditi questa pillola

    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  3. #3
    L'apostrofo è il delimitatore di stringa in sql, se devi inserire un stringa contenente degli apostrofi devi assicurarti di raddoppiarli.

    Es. devi inserire la parola L'arancia

    Essendo stringa sarà 'L'arancia'

    Ma per far capire all'sql che l'apostrofo fra L e a non è un delimitatore ma un apostrofo devi scrivere così: 'L''arancia' (due apostrofi, non un doppio apice).

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    quindi l'apostrofo va inserito solo per quei campi che trattano le stringhe.
    quindi chi chi inserisce i dati nel campo del form dovrà scrivere l''arancia? non c'è un modo per fargli in maniera normale l'arancia

  5. #5
    Questo dipende da colui che fa l'applicativo per l'utente.

    Se tu fai una form con dei campi text o textarea devi tener conto di tutti i possibili caratteri strani che ti può mettere l'utente.

    Es: l'utente mette L'arancia

    Tu, a prescindere da quello che possa esserci nel campo, prima di tutto farai un bel trim() per assicurarti che non vi siano spazzi prima o dopo.

    Prima di inserire il dato nel db dovrai anche eseguire un str_replace per sostituire l'apice con due apici: $stringa=str_replace("'","''",$stringa);

    Cmq queste sono proprio le basi della programmazione, studiati qualche guida

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    grazie mille per il consiglio. sono all'inizio

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.