[HELP] mysql_query plusieur requete

Résolu
iamslyper Messages postés 11 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 3 avril 2011 - 1 avril 2011 à 18:53
iamslyper Messages postés 11 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 3 avril 2011 - 3 avril 2011 à 07:56
Bonjour,

Voila, je récupère plusieurs requête par un formulaire et je dois les lances un peu de cette facon :

$sql = 'select * FROM Categorie; select * FROM Sous_type; ';

        mysql_queries($sql, $link) or die(mysql_error());


Mais, ca ne fonctionne pas.
Existe-t-il une fonction predefinie pour separer les requetes tout seul ?

Il y a t-il possibilite de separer les requetes avec un systeme de regex dans une boucle ?

Merci d'avance

3 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
2 avril 2011 à 10:11
Tu dois utiliser explode() pour séparer les différentes requêtes et les lancer une par une avec une boucle. Que veux-tu faire exactement ?

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
3
iamslyper Messages postés 11 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 3 avril 2011
3 avril 2011 à 07:24
Re,
Je recois ca par formulaire :
echo $data['queryForm'];
INSERT INTO users (`id`, `mail`, `login`, `password`, `role`) VALUES (NULL, '1test@hotmail.com', 'qaz', 'Thomas0', 'reader' ) ; INSERT INTO `xxx`.`Users_profil` ( `id` ,`FirstName` ,`LastName` ,`Mail` ,`Title` ,`Company` ,`Website` ,`Street` ,`Town` , `State` ,`Zip` ,`Country` ,`Mobile` ,`Phone` ,`Fax` ,`Comment` ,`Categorie` )VALUES ( NULL , '', '', '1test@hotmail.com', '', '', '', '', '', '', '', (SELECT rowid FROM Country where en='Afghanistan'), '', '', '', '', (SELECT id FROM Categorie where Name='Company') ) ; INSERT INTO `xxx`.`Personnes` (`id`, `id_login`, `id_profil`, `type`, `DateCrea`, `DateEdit`) VALUES (NULL, (SELECT id FROM users where mail='1test@hotmail.com'), (SELECT id FROM Users_profil where Mail='1test@hotmail.com'), 'USER', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) ; INSERT INTO Link_Type (`id`, `id_P`,`id_T`, `id_ST`,`id_ST_1`) VALUES (NULL, (SELECT id FROM Users_profil where Mail='1test@hotmail.com'), (SELECT id FROM Type_ WHERE Name='AGRI'), (SELECT id FROM Sous_type WHERE Name='Spacial'),'') ;


et je dois lancer toutes c'est requete.

J'ai tester en faisant ca :

preg_match_all("#(.+;)#Ui", $sql, $resultat);
                    $variable = 0;
                    $count = sizeof($resultat[0]);

                   while ($variable < $count)
                    {
                        mysql_queries($res, $link) or die(mysql_error());
                        $variable++;
                    }
               }


Ca fonctionne si je copie colle tout les requete dans une variable et que j'utilise cette fonction. Mais, si je le fait directement avec la variable $data['queryForm'];, ca bug. c'est completement illogique.

Je vais jeter un oeil a ton explode()
0
iamslyper Messages postés 11 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 3 avril 2011
3 avril 2011 à 07:56
merci pour la fonction, ca fonctionne nickel :)
0
Rejoignez-nous