Achetez et vendez votre matériel multimédia d'occasion sur notre service de petites annonces informatiques gratuites

Impossible d'ajouter des données a la base de donnée... [Résolu]

Forum informatique > Aide création et gestion de site > Impossible d'ajouter des données a la base de donnée... [Résolu]

<<<1>>>

[Page 1 sur 1 - 15 messages]
Informations Messages

Mirdin

Avatar de Mirdin
155 messages
Carte Graphique 3D
Carte Graphique 3D

Lien direct Le 11 Juin 2009 à 16h22

bonjour a tous,
je travail sur un petit code pas bien compliqué...
mais cela fait maintenant un bon bout de temps que je me bat avec cette petite ligne:

Code


mysql_query("INSERT INTO site_upload VALUES('', '$id_user', '$name', '$com', '$link', '$kesako', '$niveau', '', '')");



impossible d'ajouter les info a ma bdd!
j'ai bien vérifié toute les variables utilisée, elles sont toute correcte...
ais je mal ecris cette ligne?

voici ma page complete:

Code


<?php
if ($user->data['user_id'] != ANONYMOUS){

//verifie l'existance de toute les variable
if(isset($_POST['name']) and $_POST['name'] !=''
and isset($_POST['kesako']) and $_POST['kesako'] !=''
and isset($_POST['niveau']) and $_POST['niveau'] !=''
and isset($_POST['com']) and $_POST['com'] !=''
and isset($_POST['link']) and $_POST['link'] !=''
){
//on attribue les post au variable
$id_user = $user->data['user_id'];
$name = $_POST['name'];
$com = $_POST['com'];
$link = $_POST['link'];
$kesako = $_POST['kesako'];
$niveau = $_POST['niveau'];

echo $id_user;

mysql_connect("localhost", "root", "mysql");
mysql_select_db("data");
mysql_query("INSERT INTO site_upload VALUES('', '$id_user', '$name', '$com', '$link', '$kesako', '$niveau', '', '')");

$donnee = mysql_query("SELECT * FROM phpbb_profile_fields_data WHERE user_id ='$id_user'");
$donfin = mysql_fetch_array($donnee);
echo $donfin['pf_upload'];
$upload = $donfin['pf_upload'] + 1;
echo $upload;
mysql_query("UPDATE phpbb_profile_fields_data SET pf_upload = '$upload' WHERE user_id ='$id_user'");
mysql_close();

?>
<script language="Javascript">
<!--
document.location.replace("test-factis.php");
// -->
</script>
<?php

}else{
?>
<form id="form2" name="inscript" method="post" action=index.php>
<table width="500" border="0">
<tr>
<td><label>Nom du fichier </label></td>
<td>
<input name="name" type="text" size="20" onKeypress="return valid_mail(event);" value="<?php if(isset($_POST['name'])){ echo $_POST['name']; } ?>"/>
</td>
</tr>
<tr>
<td><label>Kesako </label></td>
<td>
<select name="kesako">
<option value="theo">Theorie</option>
<option value="exe">Exercice</option>
<option value="cor">Exercice + Correction</option>
</select>
</td>
</tr>
<tr>
<td><label>Niveau Etude </label></td>
<td>
<select name="niveau">
<option value="sec">secondaire</option>
<option value="uni">universitaire/haute ecole</option>
</select>
</td>
</tr>
<tr>
<td><label>Commentaire </label></td>
<td>
<textarea name="com" cols="20" onKeyPress="return valid_mail(event);"><?php if(isset($_POST['com'])){ echo $_POST['com']; } ?>
</textarea>
</td>
</tr>
<tr>
<td><label>Lien </label></td>
<td>
<input name="link" type="text" size="20" onKeypress="return valid_mail(event);" value="<?php if(isset($_POST['link'])){ echo $_POST['link']; } ?>"/>
</td>
</tr>
</table>
<input name="submit" type="submit" value="valider">
</form>
<?php
}
}else{
echo 'veuillez vous connecter';
}
?>



merci a vous,
Mirdin

 

ju2cho7

Avatar de ju2cho7
7322 messages
No-Life
No-Life
AidoCodeur
AidoCodeur
Modérateur
Modérateur

Lien direct Le 11 Juin 2009 à 17h45

As-tu testé ta requête séparément, en passant par phpMyAdmin?

Nous ne fournissons pas d'aide par MP. ;)
 

Mirdin

Avatar de Mirdin
155 messages
Carte Graphique 3D
Carte Graphique 3D

Lien direct Le 11 Juin 2009 à 18h09

je viens donc d'essayer:

Code

INSERT INTO site_upload VALUES('', '2', 'truc', 'com', 'link', 'theo', 'uni', '', '')



message d'erreur:

Citation


#1366 - Incorrect integer value: '' for column 'id' at row 1



ma table:

Code


--
-- Structure de la table `site_upload`
--

CREATE TABLE IF NOT EXISTS `site_upload` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_user` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`com` text NOT NULL,
`link` varchar(255) NOT NULL,
`kesako` varchar(255) NOT NULL,
`niveau` varchar(255) NOT NULL,
`cpt_dl` int(11) NOT NULL DEFAULT '0',
`cpt_view` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;



Encore merci a toi de m'aider une nouvelle fois! c'est vraiment sympaSourire

 

sundering

Avatar de sundering
1471 messages
PC de Compèt'
PC de Compèt'
AidoWindows
AidoWindows

Lien direct Le 11 Juin 2009 à 20h02

Essaie

Code

INSERT INTO site_upload VALUES(NULL, '2', 'truc', 'com', 'link', 'theo', 'uni', '', '')



id est un autoincrément donc pas besoin de lui spécifier une valeur, je pense donc que ce qu'il faut mettre est NULL.

 

Le 44

Avatar de Le 44
737 messages
Carte Mère
Carte Mère

Lien direct Le 11 Juin 2009 à 21h08

mais quand tu rentres les données sur ton site internet, n'y a-t-il pas un message d'erreur qui s'affiche ?

Cordialement, Le 44

 

Mirdin

Avatar de Mirdin
155 messages
Carte Graphique 3D
Carte Graphique 3D

Lien direct Le 11 Juin 2009 à 23h17

Citation de Le 44

mais quand tu rentres les données sur ton site internet, n'y a-t-il pas un message d'erreur qui s'affiche ?

Cordialement, Le 44



Non aucun, étrange d'ailleurs


j'ai essayer et voici un code d'erreur:

Citation

#1366 - Incorrect integer value: '' for column 'cpt_dl' at row 1



Je ne comprends pas le pourquoiTriste
Normalement ça ne pose aucun problème ce genre de code mais là :s

 

ju2cho7

Avatar de ju2cho7
7322 messages
No-Life
No-Life
AidoCodeur
AidoCodeur
Modérateur
Modérateur

Lien direct Le 12 Juin 2009 à 01h46

spécifie dans ta requête les champs que tu veux remplir dans ta base de données, ça t'évitera les erreurs d'une part, et ça allègera ta requête d'autre partClin d'oeil

Nous ne fournissons pas d'aide par MP. ;)
 

Mirdin

Avatar de Mirdin
155 messages
Carte Graphique 3D
Carte Graphique 3D

Lien direct Le 12 Juin 2009 à 11h08

Je viens d'essayer de faire ce que tu m'as dit, j'espere aussi avoir appliqué la bonne requete:

Code

INSERT INTO site_upload(id_user, name, com, link, kesako, niveau) VALUES('2', 'truc', 'machin', 'lin', 'theo', 'uni')



Citation

#1467 - Failed to read auto-increment value from storage engine



en temps normal, ce genre de code ne me pose aucun problème mais la je désespère...
merci a vous de m'aider en tout casSourire

 

ju2cho7

Avatar de ju2cho7
7322 messages
No-Life
No-Life
AidoCodeur
AidoCodeur
Modérateur
Modérateur

Lien direct Le 12 Juin 2009 à 12h05

Citation de Mirdin

Je viens d'essayer de faire ce que tu m'as dit, j'espere aussi avoir appliqué la bonne requete:

Code

INSERT INTO site_upload(id_user, name, com, link, kesako, niveau) VALUES('2', 'truc', 'machin', 'lin', 'theo', 'uni')



Citation

#1467 - Failed to read auto-increment value from storage engine



en temps normal, ce genre de code ne me pose aucun problème mais la je désespère...
merci a vous de m'aider en tout casSourire


Là c'est normal, lis l'erreur qu'il te renvoie....
Il parle d'erreur d'auto-incrémentation.Pourquoi préciser un champ que tu ne remplis pas (à savoir le champ id_user)?

Code

INSERT INTO site_upload(name, com, link, kesako, niveau) VALUES('truc', 'machin', 'lin', 'theo', 'uni')


;)

Nous ne fournissons pas d'aide par MP. ;)
 

Mirdin

Avatar de Mirdin
155 messages
Carte Graphique 3D
Carte Graphique 3D

Lien direct Le 12 Juin 2009 à 14h02

Citation de ju2cho7


Il parle d'erreur d'auto-incrémentation.Pourquoi préciser un champ que tu ne remplis pas (à savoir le champ id_user)?
;)



le champ en auto incrément est le champ "id"
le champ user_id est un champ que je rempli manuellement!
pour info, le champ user_id reprend le champ id_user de la base de donnée du forum phpbb avec lequel il est lié

 

ju2cho7

Avatar de ju2cho7
7322 messages
No-Life
No-Life
AidoCodeur
AidoCodeur
Modérateur
Modérateur

Lien direct Le 12 Juin 2009 à 16h29

Ah oui, autant pour moi
On recommence. Enlève la spécification des champs, et mets DEFAULT quand tu n'as pas de valeur à mettreClin d'oeil

Nous ne fournissons pas d'aide par MP. ;)
 

Mirdin

Avatar de Mirdin
155 messages
Carte Graphique 3D
Carte Graphique 3D

Lien direct Le 12 Juin 2009 à 16h34

c'est vrai que j'aurais pu choisir des noms plus distinct

Voilà, je viens donc d'essayer avec:

Code

INSERT INTO site_upload VALUES(DEFAULT, '2', 'truc', 'com', 'link', 'theo', 'uni', DEFAULT, DEFAULT)



message d'erreur:

Citation

#1467 - Failed to read auto-increment value from storage engine

 

ju2cho7

Avatar de ju2cho7
7322 messages
No-Life
No-Life
AidoCodeur
AidoCodeur
Modérateur
Modérateur

Lien direct Le 12 Juin 2009 à 16h42

Étrange....
Vide ta table pour voir, si cela n'engendre pas de grosse perte de données
Ce qui n'est apparemment pas le cas, vu que l'incrément est à 2 selon ta structure.

Code

TRUNCATE TABLE site_upload;

Nous ne fournissons pas d'aide par MP. ;)
 

Mirdin

Avatar de Mirdin
155 messages
Carte Graphique 3D
Carte Graphique 3D

Lien direct Le 12 Juin 2009 à 16h55

Bon hé bien comme toujours en info, les solutions aux problèmes sont les plus simples...

j'ai vidé la table et comme par magie... ça fonctionne...
Désormais, je viderai les nouvelles tables :argh:

Enfin, merci beaucoup a toi,
A une prochaine fois mais pas trop tôt je l'espère!

Merci,
Mirdin

 

ju2cho7

Avatar de ju2cho7
7322 messages
No-Life
No-Life
AidoCodeur
AidoCodeur
Modérateur
Modérateur

Lien direct Le 12 Juin 2009 à 17h59

Citation de Mirdin

A une prochaine fois mais pas trop tôt je l'espère!


Je l'espère pour toiClin d'oeil

Nous ne fournissons pas d'aide par MP. ;)
 

<<<1>>>

[Page 1 sur 1 - 15 messages]

Forum informatique > Aide création et gestion de site > Impossible d'ajouter des données a la base de donnée... [Résolu]