Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    18

    Php Mysql Data Too Long

    Salve ho un problema con l'inserimento di un testo lungo in un db mysql.

    La pagina php è impostata con charset utf-8:
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

    frammento di codice interessato:
    <?php
    $titolo=$_POST['titolo'];
    $anno_rilascio=$_POST['anno'];
    $durata=$_POST['durata'];
    $categoria=$_POST['categoria'];
    $descrizione=$_POST['descrizione'];
    $sql="INSERT INTO films (titolo,descrizione,anno_rilascio,durata) VALUES ('$titolo','$descrizione','$anno_rilascio','$durat a')";
    print_r($sql);
    $result=$db->query($sql);
    if($result) {echo "Film inserito con successo";}
    else
    {
    echo "

    L'inserimento del film non è riuscita</p>";
    echo "

    " . mysql_error() . "</p>";
    }
    ?>

    La tabella films ha charset utf-8 collation utf8_general_ci
    Le colonne sono charset utf-8 collation utf8_general_ci

    Impostazioni
    show variables like 'character%';
    "Variable_name","Value"
    "character_set_client","utf8"
    "character_set_connection","utf8"
    "character_set_database","utf8"
    "character_set_filesystem","binary"
    "character_set_results","utf8"
    "character_set_server","utf8"
    "character_set_system","utf8"

    query:
    INSERT INTO films (titolo,descrizione,anno_rilascio,durata) VALUES ('prova titolo','Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.','2010','102')

    mysql_error:
    Data too long for column 'descrizione' at row 1

    La colonna descrizione ho provato a settarla in ogni modo come varchar,text,longtext...
    ma niente. Qualcuno potrebbe darmi luce?
    Ho cercato in lungo e in largo ma non riesco a capire il motivo di questo errore
    cupe78....."tutto scorre"........

  2. #2
    Dal manuale online di MySQL:

    codice:
    A variable-length string. M represents the maximum column length in characters. 
    In MySQL 5.0, the range of M is 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in MySQL 5.0.3 and later.
    Per cui se utilizzi MySQL 5.0.3 o superiore puoi aumentare la dimensione del campo descrizione fino a 65535 caratteri.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    18
    la mia versione di mysql.
    'version', '5.1.57-community'
    ma il problema non credo sia quello.
    ho provato anche con descrizione varchar(15000) che dovrebbe contenere credo tranquillamente quel testo
    cupe78....."tutto scorre"........

  4. #4
    Ho provato una insert col tuo testo e funziona perfettamente. Ho impostato varchar(10000)
    MySQL versione 5.1.41-community
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    18
    ti ringrazio per avermi fatto notare che non poteva non funzionare in quanto era tutto corretto.
    Io non so spiegare il perchè ma come si sa misteri dell'informatica
    ho ricreato la colonna con un altro workbench e ora va.
    cupe78....."tutto scorre"........

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