Question

Voici une partie du code sur mon formulaire:

<br><input type="checkbox" checked="yes" name="country[]" value="1" />Asia/Pacific Region
<br><input type="checkbox" checked="yes" name="country[]" value="2" />Europe
<br><input type="checkbox" checked="yes" name="country[]" value="3" />Andorra
...
<br><input type="checkbox" checked="yes" name="country[]" value="250" />Jersey
<br><input type="checkbox" checked="yes" name="country[]" value="251" />Saint Barthelemy
<br><input type="checkbox" checked="yes" name="country[]" value="252" />Saint Martin

et voici mon code php:

$country=$_POST['country'];
...
foreach ($country as $country) {
    $sql="INSERT INTO sites_countries (siteID, country) VALUES ('$id', '$country')";
    # execute SQL command
    if (!mysql_query($sql,$con)) {
        die('Error: ' . mysql_error());
    }
}

mais je regardais ma base de données et il semble seulement obtenir à 127, alors $ pays est toujours 127

Était-ce utile?

La solution

Si le champ « pays » est défini comme signé tinyint la valeur maximale est 127.
voir http://dev.mysql.com/doc/refman /5.0/en/numeric-types.html

edit: même si votre serveur MySQL vous permet d'insérer des données qui est hors de portée, vous pouvez obtenir des informations sur la troncature, par exemple avec

SHOW WARNINGS
which serait

résultat quelque chose like
"Level";"Code";"Message"
"Warning";"1264";"Out of range value for column 'i' at row 1"
Vous pouvez également mettre le serveur en mode strict et obtenir une erreur si les données est hors de portée.
voir http://dev.mysql.com/doc /refman/5.0/en/server-sql-mode.html

Autres conseils

S'il vous plaît vérifier votre pays type de colonne de données. Si cette colonne est tinyint, vérifier si elle est « non signé ».

Signé tinyint sont constrainted à -127/127

http://dev.mysql.com/doc /refman/5.0/en/numeric-types.html

Nous aurions besoin de voir vos instructions DDL-SQL pour être en mesure de résoudre celui-ci. La cause la plus probable est que vous avez un type de données avec une trop petite plage dans votre base de données pour être en mesure de traiter un plus grand nombre de 127.

Exécutez l'instruction suivante:

SHOW CREATE TABLE sites_countries;

Publier les résultats ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top