thiebaut35
Messages postés15Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 5 mai 2008
-
12 mars 2008 à 18:39
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 2010
-
16 mars 2008 à 23:06
Je débute en PHP et suis déjà bloqué ! Commence pas bien c't'affaire !
Résumé:
je souhaite uploader une image via un formulaire <form enctype = "multipart/form-data"... basique vers une BDD MYSQL avec un champ img_id, cle unique ET non auto increment, car je souhaite donner le N° id à telle photo...
Mon code fonctionne si je supprime la cle unique sur img_id. Si je laisse la clé unique, j'ai cette Borde...de Mer.. de réponse: Duplicate entry '0' for key 1, le '0' peut varier, c'est la valeur que je lui donne...
Le souci c'est que si je supprime la clé unique, à chaque nouvel enregistrement à un id donné par moi, la BDD me crée 3 nouveaux enregistrements, dont 2 vides et un plein avec la nouvelle image.!!!
GRRR !
Qui peut m'aider ?
Voici le code qui me ronge !
<html> <head>
<title>Insertion des images</title>
</head>
Envoi d'une image
<form enctype "multipart/form-data" method "post">
</form>
<?php
$id = 0; c'est moi qui fixe la valeur en fonction de la bDD,
$ret = false;
$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max = 250000;
// je mets le contenu du fichier temporaire dans le champ img_blob
$img_blob = file_get_contents ($_FILES ['fic']['tmp_name']);
// et je mets le tout dans la base de données
include ("connexion.php");
$req = "INSERT INTO images (img_id,img_nom,img_taille,img_type,img_desc,img_blob)
VALUES ('".$id."','".$img_nom."','".$img_taille."','".$img_type."','"."','".addslashes ($img_blob)."')";
ici $id est la valeur que je donne arbitrairement
$ret =mysql_query ($req) or die (mysql_error ());
return true;
?>
ça c'est pour voir si ça a marché !!!!
[liste.php Liste]
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20101 13 mars 2008 à 01:42
Salut,
Pourquoi tu n'utilises pas simplement un champs auto incrément ? je veux dire pourquoi tu tiens temps à inseré le ID que TU veux ? En tout cas t'as juste à créer un champs integer sans attributs (pas unique, pas primaire pas index) et tu vas pouvoir avoir des doublons... Si tu mets un champs unique et que tu attribut une clée qui est déja présente alors j'comprends pas que ça t'étonne d'avoir une erreur lol... Unique ça le dit, il peut pas y avoir deux fois le même id..
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 13 mars 2008 à 07:36
Hello,
ouais...
"c'est moi qui fixe la valeur en fonction de la bDD,"
Tu fais ça comment au juste ?
Ensuite, si avec un INSERT, en ôtant ta clef, tu te retrouves avec 3 enregistrements...c'est que tu passes 3 fois sur cet INSERT dans ton code. Donc à mon sens tu devrais plutôt chercher de ce côté plutôt que du côté de ta clef. Je pense que ta soumission et ton traitement ne fonctionnent pas vraiment comme tu le crois.
thiebaut35
Messages postés15Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 5 mai 2008 13 mars 2008 à 20:14
Merci à tous les 2.
Exact admin cs, le insert passait 3 fois sur le code, donc 3 enregistrements.
Je cherche encore un peu mais j'ai bien avancé, car les images, je dois pouvoir les changer qd je veux, en fixant un N° id via POST et un update à la place de insert into.
Pas la même fonction, mais j'arrive à attaquer ma base comme je le veux... Encore qq réglages ça devrait le faire !
thiebaut35
Messages postés15Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 5 mai 2008 16 mars 2008 à 21:12
Salut les amiches !
bon ça fonctionne maintenant, je mets les images dans la base sous forme blob et àla place d'un insert into, j'ai mis un update... C'est tout comme je veux, je saisis un n° d'image dans une liste que j'ai définie, un image sur mon ordinateur et hop envoi !
ça roule tout bien, m^me les fichiers pdf passent ,tombe bien car j'en aurai besoin bientôt.
Mais, mais il y a un mais !
Quand je veux afficher une image dans une page html, c'est le cirque et la base affiche l'image sous forme de codes ! addslashes ne fait rien, une piste svp ?
Bien cordialement
François
Vous n’avez pas trouvé la réponse que vous recherchez ?