Bonjour, j'ai construit un script PHP qui génère des requêtes complexes; mais PHPmyAdmin me signale des erreurs et je ne vois pas quoi. Pouvez vous m'aider ?
Voici la requête
L'erreur
La table si vous voulez tenter
PS : avant d'entrer le champs name; je dois le formatter pour la db..
c'est bien addslashes($mavar) que je dois faire ?
merci d'avance !
Modifié par gordie (01 Jul 2009 - 21:02)
Voici la requête
INSERT INTO wp_bp_classifieds_categories (`parent_id`,`order`,`name`) VALUES (0,4,'New Item')
;
UPDATE wp_bp_classifieds_categories
SET `parent_id` = CASE id
WHEN 17 THEN 0
WHEN 19 THEN 17
WHEN 21 THEN 19
WHEN 22 THEN 19
WHEN 20 THEN 17
WHEN 26 THEN 20
WHEN 23 THEN 20
WHEN 24 THEN 20
WHEN 18 THEN 0
WHEN 25 THEN 18
WHEN 27 THEN 0
END,
SET `order` = CASE id
WHEN 17 THEN 1
WHEN 19 THEN 1
WHEN 21 THEN 1
WHEN 22 THEN 2
WHEN 20 THEN 2
WHEN 26 THEN 1
WHEN 23 THEN 2
WHEN 24 THEN 3
WHEN 18 THEN 2
WHEN 25 THEN 1
WHEN 27 THEN 3
END,
SET `name` = CASE id
WHEN 17 THEN 'Fonctions de Production de films danimation'
WHEN 19 THEN 'Réalisation'
WHEN 21 THEN 'Réalisateur'
WHEN 22 THEN 'Directeur artistique'
WHEN 20 THEN 'Conception'
WHEN 26 THEN '1er assistant décorateur spécialisé'
WHEN 23 THEN 'Directeur de modélisation'
WHEN 24 THEN 'Chef dessinateur danimation'
WHEN 18 THEN 'Fonctions de la production audiovisuelle'
WHEN 25 THEN '1er assistant décorateur'
WHEN 27 THEN 'Fonctions de la production cinématographique'
END
WHERE id IN (17,19,21,22,20,26,23,24,18,25,27)
L'erreur
a écrit :
requête SQL:
MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET order = CASE id
WHEN 17 THEN 1
WHEN 19 THEN 1
WHEN 21 THEN 1
WHE' at line 16
La table si vous voulez tenter
CREATE TABLE `wp_bp_classifieds_categories` (
`id` bigint(20) NOT NULL auto_increment,
`parent_id` bigint(20) NOT NULL default '1',
`order` bigint(20) default NULL,
`name` longtext,
PRIMARY KEY (`id`),
KEY `meta_key` (`order`),
KEY `site_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=33 ;
--
-- Contenu de la table `wp_bp_classifieds_categories`
--
INSERT INTO `wp_bp_classifieds_categories` (`id`, `parent_id`, `order`, `name`) VALUES
(17, 0, 0, 'Fonctions de Production de films d''animation'),
(18, 0, 0, 'Fonctions de la production audiovisuelle'),
(19, 17, 0, 'Réalisation'),
(20, 17, 0, 'Conception'),
(21, 19, 0, 'Réalisateur'),
(23, 20, 0, 'Directeur de modélisation'),
(24, 20, 0, 'Chef dessinateur d’animation'),
(25, 18, 0, '1er assistant décorateur'),
(26, 18, 0, '1er assistant décorateur spécialisé'),
(27, 0, 0, 'Fonctions de la production cinématographique'),
(32, 0, 4, 'New Item');
PS : avant d'entrer le champs name; je dois le formatter pour la db..
c'est bien addslashes($mavar) que je dois faire ?
merci d'avance !
Modifié par gordie (01 Jul 2009 - 21:02)