ressortir le nom de la table sql

Mammouth du PHP | 514 Messages

10 oct. 2006, 13:39

Bonjour,

J'ai une requête dans une variable :

$requete="insert into MATABLE ...";

je cherche une regexp qui me permettrait de retourner le nom de ma table via une méthode.

Vous avez ça ?

Merci,

M.
Ne jamais repousser à demain ce qu'on peut faire après demain ...

Eléphant du PHP | 413 Messages

10 oct. 2006, 14:20

salut,
essaye ceci :

$requete="insert into MATABLE ...";
$nom_table = preg_replace('/insert into (\w+) .*/i', '\\1', $requete);
--
Goeb

Mammouth du PHP | 514 Messages

10 oct. 2006, 14:39

Merci de ta réponse.

J'ai oublié de préciser que la requête pouvait être de type insertion, suppression, ou mise à jour ...

ça complique le truc non ?
Ne jamais repousser à demain ce qu'on peut faire après demain ...

Mammouth du PHP | 19672 Messages

10 oct. 2006, 18:12

pas vraiment : il faut déterminer ce que tu vas toujours trouver AVANT et toujours trouver APRÈS :

- Avant : INSERT INTO ou DELETE FROM ou UPDATE;
- Après : (`champ1`, `champ2`, .., `champn`) VALUES (..) ou VALUES (...) ou SET champx = ... ou WHERE

il va de soi qu'on réduira au minimum et que toutes les paires ne sont pas possibles, mais ça te permet de définir le masque de ce qui précède et de ce qui succède au(x) nom(s) de(s) table(s)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: