Visualizzazione dei risultati da 1 a 10 su 25

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Come puoi immaginare il campo select si chiama come l'omonima keyword (SELECT ...). Quindi

    1 cambi il nome al campo
    2 oppure lo fai precedere dal nome della tabella: INSERT INTO campi (..., campi.select) VALUES(...)
    3 oppure metti il nome del campo tra backtick (gli apici inclinati): INSERT INTO campi (..., `select`) VALUES(...)

    Visto che usi mysql, usa i prepared statement, in questo modo ti fa in automatico l'escape. Ora come ora se nella textarea metti un apice la query risulterà errata.

    Per quanto riguarda il "recupero" dei dati devi usare le funzioni di fetch:

    Codice PHP:

    $strsql 
    "SELECT textarea FROM campi";

    $rs mysqli_query($link$strsql) or die("Errore query database: " mysqli_error($link));
    // La query prende tutte le tuple della tabella, quindi il while "scorre" tutte le righe trovate
    while ($row mysqli_fetch_assoc($rs)) {
       echo 
    $row['textarea'];


  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306
    Grazie mille per avermi risposto

    Quote Originariamente inviata da boots Visualizza il messaggio
    Come puoi immaginare il campo select si chiama come l'omonima keyword (SELECT ...). Quindi

    1 cambi il nome al campo
    2 oppure lo fai precedere dal nome della tabella: INSERT INTO campi (..., campi.select) VALUES(...)
    3 oppure metti il nome del campo tra backtick (gli apici inclinati): INSERT INTO campi (..., `select`) VALUES(...)

    Visto che usi mysql, usa i prepared statement, in questo modo ti fa in automatico l'escape. Ora come ora se nella textarea metti un apice la query risulterà errata.

    Per quanto riguarda il "recupero" dei dati devi usare le funzioni di fetch:

    Codice PHP:

    $strsql 
    "SELECT textarea FROM campi";

    $rs mysqli_query($link$strsql) or die("Errore query database: " mysqli_error($link));
    // La query prende tutte le tuple della tabella, quindi il while "scorre" tutte le righe trovate
    while ($row mysqli_fetch_assoc($rs)) {
       echo 
    $row['textarea'];

    Non ci ho pensato minimamente a questo fatto della coincidenza dei nomi. Cambierò il nome del campo tabella.


    cosa sono i prepared statement? l'escape?? non ne ho mai sentiti nominare.
    Ultima modifica di Alfoxx; 17-09-2016 a 19:38

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 © 2026 vBulletin Solutions, Inc. All rights reserved.