Bonjour,
j'effectue la copie d'une ligne de la sorte :
ce code fonctionnait bien en local (Wampserver), mais mis en ligne, where id="'.$id_copy.'"' n'existe pas. Donc comment récupérer la ligne que je viens de créer avec l'insert de la ligne 2 ?
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // copy in `machines` table : all keys except name because unique key and so update request $sql='INSERT INTO `machines` (localization,pays,entite,perimetre,type,comment,contact_name,ip,contact_phone) SELECT localization,pays,entite,perimetre,type,comment,contact_name,ip,contact_phone FROM `machines` where name="'.$machselcopy.'"'; $bdd->query($sql); $id_copy=$bdd->lastinsertid(); $sql='update `machines` SET name="'.$name_copy.'" where id="'.$id_copy.'"'; $bdd->query($sql);
structure de la table machines :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 CREATE TABLE `machines` ( `name` varchar(20) COLLATE latin1_bin DEFAULT NULL, `localization` varchar(30) COLLATE latin1_bin DEFAULT NULL, `pays` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT '', `entite` varchar(20) COLLATE latin1_bin DEFAULT NULL, `perimetre` set('Oui','Non') COLLATE latin1_bin DEFAULT NULL, `type` varchar(20) COLLATE latin1_bin DEFAULT NULL, `id` smallint(6) NOT NULL, `comment` varchar(100) COLLATE latin1_bin DEFAULT NULL, `ip` varchar(15) COLLATE latin1_bin DEFAULT NULL, `contact_name` varchar(50) COLLATE latin1_bin DEFAULT NULL, `contact_phone` varchar(50) COLLATE latin1_bin DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin; ALTER TABLE `machines` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `name` (`name`);
Partager