[SQL] Suite de requête en un seul query
Munduss
Messages postés
43
Statut
Membre
-
Munduss Messages postés 43 Statut Membre -
Munduss Messages postés 43 Statut Membre -
Bonjour,
Je souhaiterais exécuter une requête depuis une page php, qui renvoit le résultat d'un SELECT, qui en profite pour ajouter une entrée dans une table et qui réaliser l'update d'une autre table.... C'est important que ces actions soient réalisées dans une seule et même mysql_query().
Si je réalise la requête dans PhpMyAdmin, ça fonctionne très bien. Par contre si j'essais de l'exécuter depuis une page web ça ne fonctionne pas...
db_query fail: 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 'INSERT INTO etc...' at line x
Je souhaiterais exécuter une requête depuis une page php, qui renvoit le résultat d'un SELECT, qui en profite pour ajouter une entrée dans une table et qui réaliser l'update d'une autre table.... C'est important que ces actions soient réalisées dans une seule et même mysql_query().
$query="SELECT id FROM users WHERE user='".$login."' AND password='".pass."'; INSERT INTO logtable value( 'blabla', 'blabla', 'blabla'); UPDATE lasttry SET at='blabla'";
Si je réalise la requête dans PhpMyAdmin, ça fonctionne très bien. Par contre si j'essais de l'exécuter depuis une page web ça ne fonctionne pas...
db_query fail: 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 'INSERT INTO etc...' at line x
A voir également:
- [SQL] Suite de requête en un seul query
- Power query download - Télécharger - Tableur
- Family link se debloque tout seul ✓ - Forum Huawei
- Logiciel sql - Télécharger - Bases de données
- Pourquoi mon moteur de recherche change tout seul ✓ - Forum Google Chrome
- Comment imprimer un tableau excel sur une seule page - Guide
2 réponses
Salut,
Si je réalise la requête dans PhpMyAdmin, ça fonctionne très bien
J'avoue que cette affirmation me surprend un peu car je ne vois pas quelle réponse te renvoie phpMyAdmin à ce moment là. Ou alors parce qu'il n'y a pas eu de message d'erreur, tu en as déduit que c'était bon..?
Dans tous les cas, une requête sql (sql statement) - comme son nom l'indique - est UNE. Ce que tu cherches à faire c'est non plus UNE mais PLUSIEURS requêtes dans une même foulée et dans un certain ordre, ça peut être réalisé avec une transaction ou plus simplement, avec une procédure stockée. Je t'invite donc à regarder la doc mysql ad hoc.
Procédures stockées --> http://dev.mysql.com/doc/refman/5.0/fr/stored-procedures.html
Transaction --> http://dev.mysql.com/doc/refman/5.0/fr/commit.html
Concernant les transactions, tu peux t'inspirer de ce tuto du Site du zéro qui utilise la classe PDO
--> http://www.siteduzero.com/tutoriel-3-166641-les-transactions-avec-mysql-et-pdo.html
Eventuellement les déclencheurs --> http://dev.mysql.com/doc/refman/5.0/fr/triggers.html
Si je réalise la requête dans PhpMyAdmin, ça fonctionne très bien
J'avoue que cette affirmation me surprend un peu car je ne vois pas quelle réponse te renvoie phpMyAdmin à ce moment là. Ou alors parce qu'il n'y a pas eu de message d'erreur, tu en as déduit que c'était bon..?
Dans tous les cas, une requête sql (sql statement) - comme son nom l'indique - est UNE. Ce que tu cherches à faire c'est non plus UNE mais PLUSIEURS requêtes dans une même foulée et dans un certain ordre, ça peut être réalisé avec une transaction ou plus simplement, avec une procédure stockée. Je t'invite donc à regarder la doc mysql ad hoc.
Procédures stockées --> http://dev.mysql.com/doc/refman/5.0/fr/stored-procedures.html
Transaction --> http://dev.mysql.com/doc/refman/5.0/fr/commit.html
Concernant les transactions, tu peux t'inspirer de ce tuto du Site du zéro qui utilise la classe PDO
--> http://www.siteduzero.com/tutoriel-3-166641-les-transactions-avec-mysql-et-pdo.html
Eventuellement les déclencheurs --> http://dev.mysql.com/doc/refman/5.0/fr/triggers.html
Merci Giorgiolino d'avoir pris le temps de me présenter ces deux aspects du SQL. :)
A vrai dire le vrai but est de réaliser une démonstration d'injection pour une formation. Je l'ai présenté autrement pour CCM.
La vrai ligne de code est:
J'aurais aimer injecter le reste de la suite de requêtes (message originel) dans la variable $pass qui est transmise sans vérification.
Apparemment de ce que j'ai cru comprendre, ce n'est pas possible avec PhpMyAdmin de transmettre plusieurs requêtes SQL avec un seul query...
A vrai dire le vrai but est de réaliser une démonstration d'injection pour une formation. Je l'ai présenté autrement pour CCM.
La vrai ligne de code est:
$query="SELECT id FROM users WHERE user='".$login."' AND password='".pass."'";
J'aurais aimer injecter le reste de la suite de requêtes (message originel) dans la variable $pass qui est transmise sans vérification.
Apparemment de ce que j'ai cru comprendre, ce n'est pas possible avec PhpMyAdmin de transmettre plusieurs requêtes SQL avec un seul query...