Problème avec "l'id" ds 1 requête SQL(My

hoida Messages postés 26 Statut Membre -  
hoida Messages postés 26 Statut Membre -
Bonjour,
Je suis confronté à un petit problème avec une requête SQL dans MySQL sous PHP. J'ai une table dans une base de donnée MySQL dont la description est donée sur ce lien : https://www.cjoint.com/?cAayHxTah1
J'ai un extrait de mon script php qui traite cette table :

<?php
	mysql_connect("localhost", "usernonroot", "passwdfordb");
	mysql_select_db("dbname_db");
	/* 1) Enregistrement d'un message envoyé :  */
	if(isset($_POST['pseudo']) AND isset($_POST['message']))
	{
		if($_POST['pseudo'] != NULL AND $_POST['message'] != NULL )
		{
		$pseudo = $_POST['pseudo'];
		$message = $_POST['message'];
		$message = nl2br($message);
		mysql_query("INSERT INTO livre_dor VALUES ('', '" . $pseudo . "', '" . $message . "')") ;
		}
	}
?>


Les problèmes que j'ai sont :

Si je garde la requête :
mysql_query("INSERT INTO livre_dor VALUES ('', '" . $pseudo . "', '" . $message . "')");

comme telel, l'exécution de mon script me donne le message d'erreur :
Incorrect integer value: '' for column 'id' at row 1.

Quand je mets :

mysql_query("INSERT INTO livre_dor VALUES ('1', '" . $pseudo . "', '" . $message . "')");
, l'exécution se déroule correctement.

A la deuxième exécution c'est à dire lorsque un message est déjà stocké et en gardant la dernière requête j'obtiens un message d'erreur : Duplicate entry '1' for key 1. Bref les requêtes marchent si je modifie manuellement la valeur de l'id, ce qui n'est guère pratique même pour un débutant :-).

A noter que j'ai un autre problème si je garde ma requête comme telle :
mysql_query("INSERT INTO livre_dor(pseudo, message)  VALUES ('$pseudo', '$message')");

Le message d'erreur étant : Field 'id' doesn't have a default value , alors que le champ id est bein en AUTO_INCREMENT.

Voilà.

Je sollicite l'aide de chacun pour m'expliquer le petit détail que je ne comprends pas pour résoudre ce problème. Comment puis-je contourner ce problème lors de la création de ma table?

Merci pour votre contribution.
A voir également:

3 réponses

IpIpIpIpOne Messages postés 480 Statut Membre 116
 
Bizarre, bizarre ...
0
Passarinho44 Messages postés 977 Statut Contributeur 132
 
Dans le lien que tu as donné pour la structure de ta table, j'ai remarqué que dans extra tu n'as rien alors que si ton champ était bien auto-incrémenté, cela serait spécifié ici.

Donc revérifie si ton champ ID est bien auto-incrémenté ...
0
hoida Messages postés 26 Statut Membre
 
Merci beaucoup.

C'était effectivement ça le problème. J'avais revu la structure de ma table juste après le Post de ma question. Je me suis rendu compte que le champ id n'était pas en AUTO_INCREMENT.

Merci tout de même pour votre contribution.
0