Erreur SQLSTATE[HY000]
Bonjour,
J'ai une erreur et je ne sais pas ce qu'elle veut dire :
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'id' at row 1
Hier, j'ai utilisé mon formulaire pour enregistrer plusieurs dizaines de champs, et cela fonctionnait parfaitement bien.
Quelqu'un peut-il me dire ce qu'il se passe.
Merci
Jack
Ben a priori, tu essayes de passer un truc qui n'est pas un integer dans ta requete SQL, alors que le type du champs id semble l'imposer.
Bonjour,
voici la structure de ma table :
--
-- Structure de la table `chartes_bullaire`
--
DROP TABLE IF EXISTS `chartes_bullaire`;
CREATE TABLE IF NOT EXISTS `chartes_bullaire` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`numero` nchar(10),
`date` nvarchar(100),
`sources` nvarchar(150),
`nom` nvarchar(100),
`ville` nvarchar(100),
`dep` nvarchar(100),
`type` nvarchar(150),
`news` longtext,
`visible` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Je ne comprends toujours pas.
J'ai vu sur quelques site que ce serait-être mon programme Mysql qui ne serait plus à jour ?
Ou alors une mise à jour pas très bien réussi ?
Merci de ta réponse.
Jack
Bonjour
Je ne comprends toujours pas.
Ce code fonctionne très bien sur mon système Linux Ubuntu et plus sur mon système Windows que j'ai paramètre moi-même.
Je pense vraiment de plus en plus qu'il y a une incompatibilité entre Mysql et php ou une autre que je ne peux définir.
Mon formulaire, est un simple test :
<form name="formulaire" method="post" action="add_chartes.php?go=ok">
Numéro : <input type="text" id="numero" name="numero" size="80" maxlength="150" /><br />
Date : <input type="text" id="date" name="date" size="80" maxlength="150" /><br />
Sources : <input type="text" id="sources" name="sources" size="80" maxlength="150"/><br />
Nom : <input type="text" id="nom" name="nom" size="80" maxlength="150" /><br />
Département : <input type="text" id="dep" name="dep" size="80" maxlength="150" /><br />
Ville : <input type="text" id="ville" name="ville" size="80" maxlength="150" /><br />
Pays : <input type="text" id="type" name="type" size="80" maxlength="150" /><br />
News : <textarea id="news" name="news" cols="60" rows="10"></textarea><br />
<input type="submit" value="Save" />
</form>
<?php
$hostname = 'localhost';
$username = 'usename';
$password = 'password';
$dbname = 'my_base';
include ('functions_caracteres.php');
try {
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if (isset($_GET['go']) && $_GET['go'] == 'ok') {
if (!empty($_POST['numero']) && !empty($_POST['date']) && !empty($_POST['sources']) && !empty($_POST['nom']) && !empty($_POST['ville']) && !empty($_POST['dep']) && !empty($_POST['type']) && !empty($_POST['news'])) {
$sql = 'INSERT INTO chartes_bullaire VALUES("", "'.addslashes($_POST['numero']).'", "'.addslashes(caracteres($_POST['date'])).'", "'.addslashes(caracteres($_POST['sources'])).'", "'.addslashes(caracteres($_POST['nom'])).'", "'.addslashes(caracteres($_POST['ville'])).'", "'.addslashes(caracteres($_POST['dep'])).'", "'.addslashes($_POST['type']).'", "'.addslashes(caracteres($_POST['news'])).'", "0")';
$dbh->exec($sql);
header('Location: liste_modif.php');
exit();
}
else {
$message = '<span class="R">Au moins un des champs obligatoires est vide</span>.';
}
}
if (isset($_POST['numero'])) $_POST['numero'] = $_POST['numero'];
if (isset($_POST['date'])) $_POST['date'] = $_POST['date'];
if (isset($_POST['sources'])) $_POST['sources'] = $_POST['sources'];
if (isset($_POST['nom'])) $_POST['nom'] = $_POST['nom'];
if (isset($_POST['ville'])) $_POST['ville'] = $_POST['ville'];
if (isset($_POST['dep'])) $_POST['dep'] = $_POST['dep'];
if (isset($_POST['type'])) $_POST['type'] = $_POST['type'];
if (isset($_POST['news'])) $_POST['news'] = $_POST['news'];
}
catch(PDOException $e)
{
echo $sql . '<br />' . $e->getMessage();
}
?>
<?php
if (isset($message)) {
echo '<br /><span class="R">'.$message.'</span>';
}
?>
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: