Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/10/2006, 14h56   #1
klerdesign
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut [SQL] Ecraser une image dans une table.

Bonjour,
grâce à l'aide de Dia_fr et Titoumimi, j'arrive enfin à afficher mes images dans mon module admin pour mes news. Mais Quelle requête utiliser si je ne veux insérer dans ma table 'images' qu'une seule image et supprimer l'autre déjà présente?

Je pensais utiliser une requête du type :
DELETE FROM 'images' WHERE 'img_id' = 1 LIMIT1;
Mais cela ne rentrera-t'il pas en conflit avec mon script d'insertion d'image?
  Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2006, 15h07   #2
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 27
Points : 12
Points : 12
Citation:
Envoyé par klerdesign
Quelle requête utiliser si je ne veux insérer dans ma table 'images' qu'une seule image et supprimer l'autre déjà présente?
Je peut-etre mal compris le sens de ta phrase mais ce que tu cherche a faire resemble a une mise à jour. Si c'est le cas utilise une requete SQL de type UPDATE

UPDATE nom_de_la_table SET nom_du_champ = nouvelle_valeur WHERE identifiant_du_champ = identifiant_de_image_a_modifier

++ nairolf
nairolf_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2006, 15h35   #3
klerdesign
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
J'ai parlé trop vite :

Pour l'instant ma requête d'insertion d'image est la suivante :
$req = "INSERT INTO `images` (".
"img_nom, img_taille, img_type, img_blob ".
") VALUES (".
"'".$img_nom."', ".
"'".$img_taille."', ".
"'".$img_type."', ".
"'".addslashes ($img_blob)."') ";

Je voudrais bien l'adapter en UPDATE :

$req="UPDATE into ‘images‘ SET
img_nom='$img_nom',
img_taille='$img_taille',
img_type='$img_type',
img_blob="addslashes '$img_blob' "
WHERE img_id='$img_id' ";

Et tout ça me renvoie une belle erreur de syntaxe. Ce qui manque dans PHPMyAdmin, c'est la correction

Si l'un d'entre vous aperçoit l'erreur, je vous en serai très reconnaisssant

Dernière modification par klerdesign ; 05/10/2006 à 16h36. Motif: j'ai parlé trop vite
  Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2006, 20h38   #4
Membre habitué
 
Avatar de kodokan
 
Lycéen
Inscription : avril 2006
Messages : 128
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : avril 2006
Messages : 128
Points : 114
Points : 114
Salut

Code :
1
2
3
4
5
6
7
8
9
 
$img_blob = addslashes($img_blob);
 
$req="UPDATE into ‘images‘ SET
img_nom='$img_nom',
img_taille='$img_taille',
img_type='$img_type',
img_blob='$img_blob'
WHERE img_id=\"{$img_id}\"";
__________________

N'oubliez pas de voir les
quand la réponse vous convient, un pt'it serait le bienvenu
Mon site de blogs
Kodokan arena [ en construction ]
kodokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2006, 20h55   #5
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Citation:
Envoyé par kodokan
Salut

Code :
1
2
3
4
5
6
7
8
9
 
$img_blob = addslashes($img_blob);
 
$req="UPDATE into ‘images‘ SET
img_nom='$img_nom',
img_taille='$img_taille',
img_type='$img_type',
img_blob='$img_blob'
WHERE img_id=\"{$img_id}\"";
Comme je ne connais pas le numero de la ligne où tu as l'erreur, je suppose qu'elle est dans ta requete .

J'aurais écris ça :

Code :
1
2
3
4
5
6
7
8
9
 
$img_blob = addslashes($img_blob);
 
$req="UPDATE into images SET
img_nom='$img_nom',
img_taille='$img_taille',
img_type='$img_type',
img_blob='$img_blob'
WHERE img_id='" . $img_id . "' ";
(clause WHERE )

N1bus
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2006, 15h48   #6
klerdesign
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
je n'ai pas pu tester avant aujourd'hui et je retrouve encore la même erreur :
you have an error in your SQL syntax near 'into images SET...' à la ligne 1.

Je ne comprends pas, c'est vraiment dément.
  Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2006, 17h48   #7
Membre habitué
 
Avatar de kodokan
 
Lycéen
Inscription : avril 2006
Messages : 128
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : avril 2006
Messages : 128
Points : 114
Points : 114
Peut-etre que cela vient de ta table SQL ...

On pourrait voir la structure ?
__________________

N'oubliez pas de voir les
quand la réponse vous convient, un pt'it serait le bienvenu
Mon site de blogs
Kodokan arena [ en construction ]
kodokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2006, 20h12   #8
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Ben oui !
J'avais lu trop vite !

Si ta table s'appelle images , la syntaxe de UPDATE c'est :

Code :
"UPDATE images SET ...."
et non pas

Code :
"UPDATE into images SET ...."
N1bus
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 10h34   #9
klerdesign
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
En réponse à Kodokan, cela ne vient pas de la structure de ma table puisqu'un INSERT into fonctionne parfaitement. Je n'ai pas de problème à insérer une image, mais à écraser tout ce qui se trouve déjà dans la table.

Voici quand même la syntaxe de création de ma table au cas où un paramètre serait mal renseigné :

Code :
1
2
3
4
5
6
7
8
9
CREATE TABLE `images` (
`img_id` INT NOT NULL AUTO_INCREMENT ,
`img_nom` VARCHAR( 50 ) NOT NULL ,
`img_taille` VARCHAR( 25 ) NOT NULL ,
`img_type` VARCHAR( 25 ) NOT NULL ,
`img_desc` VARCHAR( 100 ) NOT NULL ,
`img_blob` BLOB NOT NULL ,
PRIMARY KEY ( `img_id` )
)
  Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 11h27   #10
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
INSERT INTO images = ok

mais pas UPDATE INTO images .

C'est : UPDATE images

je rabâche, mais bon ...

N1bus
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 11h39   #11
klerdesign
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
c'est exactement ce que j'ai testé : UPDATE images SET...
  Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 11h41   #12
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Et ça marche ou pas ?
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 12h02   #13
klerdesign
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
ben non justement. Ca ne marche pas.
Est-ce que je ne peux pas renseigner le champ image de ma table avec certaines valeurs, de sorte que cette dernière n'accepte q'un seul enregistrement ?
  Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 12h50   #14
klerdesign
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
J'ai trouvé une réponse :

$req = 'UPDATE images SET img_nom="'.$img_nom.'",
img_taille="'.$img_taille.'",
img_type="'.$img_type.'",
img_blob="'.addslashes ($img_blob).'"';

Cela marche plutôt bien.
  Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Enlever Résolu
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h51.


 
 
 
 
Partenaires

Hébergement Web