(MySql) type d'un champ id

x@v
Mammouth du PHP | 570 Messages

14 juin 2007, 21:42

Bonjour,
j'ai une requete d'insertion et je ne comprend pas pourquoi elle insère 0
$query = "insert into article values
            ('',  '$ecrivain', '$page', '$description', '$titre', '$article_text', '$image', $time, $time, $time)";
	$result=mysql_query($query, $lien);
      $id_article = mysql_insert_id();
    if (!$result)
       return false;
et donc dans cette requette $dernier_id se trouve toujours à 0 alors que sa valeur devrai être l'id de la première insertion
  $date = date('Y-m-d').' '.$time;
  $requette_pages = "insert into pages 
                (page, date, id_article)
              values 
                ('zzzzz', '$date', $dernier_id)";
   $pages = mysql_query($requette_pages, $lien) or die (mysql_error())
Et donc le champs sans apostropheil m'affiche l'erreur suivante, mais c'est un entier le résultat. Il ne devrai pas y aavoir de paranthèses ?

Code : Tout sélectionner

You have an error in your SQL syntax near ')' at line 4
Merci

ViPHP
ViPHP | 5924 Messages

15 juin 2007, 01:23

Donne nous la structure exacte de ta table.

x@v
Mammouth du PHP | 570 Messages

15 juin 2007, 14:17

-- 
-- Table structure for table `pages`
-- 

CREATE TABLE `pages` (
  `page` varchar(100) NOT NULL default '',
  `description` varchar(250) NOT NULL default '',
  `rubrique` varchar(100) NOT NULL default '',
  `date` varchar(250) NOT NULL default '',
  `id_article` tinyint(11) NOT NULL default '0'
) TYPE=MyISAM;

ViPHP
ViPHP | 5924 Messages

15 juin 2007, 14:32

Pour avoir une autoincrementation, il faut spécifier un champ auto increment.
Tu dois donc passer le champ à incrementer en PRIMARY AUTO_INCREMENT.

x@v
Mammouth du PHP | 570 Messages

15 juin 2007, 15:04

Code : Tout sélectionner

`id_article` tinyint(11) NOT NULL default '0'
Ce champs est destiner à recopier la variable $id_article = mysql_insert_id();
Et il aurrai besion d'être incrémenter ?

edit ->
par contre j'ai reconstruit mes tables pour avoir des auto incrémente à 0.
Et sa fonctionne :)
Merci à toi et aux autre pour m'avoir donner les pistes à suivre ;)