我使用MYSQL_INSERT_ID时出错。
错误:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在'INSERT INTO FicheHandicap(NumeroCORH)VALUES附近(NULL);组 @NewidFicheHandicap ='第2行
请求:
START TRANSACTION;
INSERT INTO FicheHandicap (NumeroCORH) VALUES (NULL);
SET @NewidFicheHandicap = LAST_INSERT_ID();
INSERT INTO FicheSanitaire (DateVaccinHepatite) VALUES (NULL);
SET @NewidFicheSanitaire = LAST_INSERT_ID();
INSERT INTO Identite (Nom,NomJeuneFille,Prenoms,DateNaissance,LieuNaissance,Nationalite,CouvertureSociale,Mutuelle1,Mutuelle2,Mutuelle3,Bourse1,Bourse2,Sexe,idGenre,idFicheSanitaire,idFicheHandicap) VALUES ("TOTO","","TOTO","2013-06-12","TOTO","TOTO","TOTO","TOTO","TOTO","TOTO","TOTO","TOTO","0","1",@NewidFicheSanitaire,@NewidFicheHandicap);
SET @NewidIdentite = LAST_INSERT_ID();
INSERT INTO Personne (MembreActif, Actif, IdIdentite) VALUES ("1", "1", @NewidIdentite);
COMMIT;
我使用php:
$query = 'START TRANSACTION;'."\n";
$query .= ' INSERT INTO FicheHandicap (NumeroCORH) VALUES (NULL);'."\n";
$query .= ' SET @NewidFicheHandicap = LAST_INSERT_ID();'."\n";
$query .= ' INSERT INTO FicheSanitaire (DateVaccinHepatite) VALUES (NULL);'."\n";
$query .= ' SET @NewidFicheSanitaire = LAST_INSERT_ID();'."\n";
$query .= ' INSERT INTO Identite (Nom,NomJeuneFille,Prenoms,DateNaissance,LieuNaissance,Nationalite,CouvertureSociale,Mutuelle1,Mutuelle2,Mutuelle3,Bourse1,Bourse2,Sexe,idGenre,idFicheSanitaire,idFicheHandicap) VALUES ("'.$resultat['Nom'].'","'.$resultat['NomJeuneFille'].'","'.$resultat['Prenoms'].'","'.preg_replace("#(.*)/(.*)/(.*)#", "$3-$2-$1", $resultat['DateNaissance']).'","'.$resultat['LieuNaissance'].'","'.$resultat['Nationalite'].'","'.$resultat['CouvertureSociale'].'","'.$resultat['Mutuelle1'].'","'.$resultat['Mutuelle2'].'","'.$resultat['Mutuelle3'].'","'.$resultat['Bourse1'].'","'.$resultat['Bourse2'].'","'.$resultat['Sexe'].'","'.$resultat['idGenre'].'",@NewidFicheSanitaire,@NewidFicheHandicap);'."\n";
$query .= ' SET @NewidIdentite = LAST_INSERT_ID();'."\n";
$query .= ' INSERT INTO Personne (MembreActif, Actif, IdIdentite) VALUES ("'.$resultat['MembreActif'].'", "'.$resultat['Actif'].'", @NewidIdentite);'."\n";
$query .= ' COMMIT;'."\n";
$resultat = $mysqli->query($query);