MYSQL_INSERT_ID を使用するとエラーが発生します..
エラー :
SQL 構文にエラーがあります。'INSERT INTO FicheHandicap (NumeroCORH) VALUES (NULL); の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。SET @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);