Pb pour recuperer une var en auto-increment

Fermé
shadowdad - 5 déc. 2008 à 11:35
 shadowdad - 6 déc. 2008 à 23:42
Bonjour,
J'ai un petit souci concernant le php
J'ai crée des tables à l'aide de PhpMyAdmin, puis ai crée des pages html pour les traiter.
Dans mon exemple, dans une table compte j'insère un nouveau compte (pour l'instant, rien de sorcier) à l'aide d'une requête, et j'aimerai utiliser l'id incrémentée automatiquement pour l'insérer dans une autre table

Avec ce que j'ai essayé de faire, il m'affiche le message d'erreur suivant:

Column count doesn't match value count at row 1

Le code php que j'ai utilisé est le suivant:

<?
mysql_connect("**********");

Mysql_select_db("********");
$form="<form method=\"POST\">
<p>id_pro : <input type=\"text\" name=\"id_pro\" size=\"5\"
value=\"\"></p>
<p>num_client : <input type=\"text\" name=\"num_client\" size=\"30\"
value=\"\"></p>
<p>num_personnel : <input type=\"text\" name=\"num_personnel\" size=\"30\" value=\"\"></p>
<p>num_equipe : <input type=\"text\" name=\"num_equipe\" size=\"30\"
value=\"\"></p>
<p>type_compte : <input type=\"text\" name=\"type_compte\" size=\"30\"
<p>date de souscription : <input type=\"text\" name=\"date_action\" size=\"30\"
<p><input type=\"submit\" value=\"Valider\" name=\"B1\"></p>
</form>";
echo $form;


if (isset($_POST['B1'])){
Mysql_select_db("Projet_BD_2008");
$id_pro=$_POST['id_pro'];
$num_client=$_POST['num_client'];
$num_personnel=$_POST['num_personnel'];
$num_equipe=$_POST['num_equipe'];
$type_compte=$_POST['type_compte'];
$date_action=$_POST['date_action'];
$requete="INSERT INTO COMPTE VALUES ( '', '$type_compte', 0, 2, $num_client)";
mysql_query ($requete);
$requete2="SELECT COMPTE.num_compte FROM COMPTE WHERE COMPTE.type_compte='$type_compte' AND COMPTE.solde=0 AND COMPTE.id_type=2 AND COMPTE.num_client=$num_client";
$valeur=mysql_query($requete2) or die (mysql_error());
$tableau=mysql_fetch_array($valeur);
$num_compt="$tableau[$num_compte]";
print("$num_compt");
echo "<br><br>";
$requete3="INSERT INTO Action VALUES ( '', 'souscription_compte', $num_equipe, $num_personnel, $num_client, 'NULL', '$num_compt', '$date_action' )";
mysql_query ($requete3) or die (mysql_error());
}
?>

Avec les tables COMPTE et Action de la forme:
COMPTE:
Champ Type Null Extra
num_compte int(11) Non auto_increment
type_compte varchar(100) Non
solde int(11) Non
id_type int(11) Non
num_client int(11) Non
-----------------
ACTION:
Champ TypeAttributs Null Défaut Extra
id_action int(11) Non auto_increment
type_action varchar(100) Non
num_equipe int(11) Oui NULL
num_personnel int(11) Oui NULL
num_client int(11) Non
num_contrat int(11) Oui NULL
num_compte int(11) Oui NULL
Somme int(11) Oui NULL
date_action date Non


SI quelqu'un pouvait m'aider a résoudre mon problème, j'en serais très reconnaissant
Merci d'avance
A voir également:

4 réponses

purplefilth Messages postés 96 Date d'inscription vendredi 5 décembre 2008 Statut Membre Dernière intervention 19 mars 2010 32
5 déc. 2008 à 11:36
Bonjour,

à la place de $requete="INSERT INTO COMPTE VALUES ( '', '$type_compte', 0, 2, $num_client)"; essaye $requete="INSERT INTO COMPTE VALUES ( , '$type_compte', 0, 2, $num_client)";
0
hmm nan ça change rien, toujours le même message, et pas le résultat estompé
0
purplefilth Messages postés 96 Date d'inscription vendredi 5 décembre 2008 Statut Membre Dernière intervention 19 mars 2010 32
5 déc. 2008 à 12:07
j'ai oublié une virgule devant '$type_... Tu l'a fait pour toutes tes requetes où il y a un auto_increment ?
0
euh waip je l'ai fait pour toutes, aucune ne marche bien entendu...
Ben ta correction ne donne rien, et pour repondre à sornico, ce n'est pas un ", mais un ' ' ! ^^
0
C'est bon j'ai trouvé comment faire, merci beaucoup quand même !
0