2010-05-19 8 views
1

Supposons que vous ayez une chaîne: "SELECT * FROM TABLE OÙ colonne1 =: var1 ET colonne2 =: var2"PHP: Comment trouver des paramètres (Oracle) dans une requête SQL?

Maintenant, comment puis-je obtenir un tableau avec toutes les variables comme si:

Array 
(
    [0] => :var1 
    [1] => :var2 
) 

Je l'ai essayé avec preg_match_all de PHP, mais je me bats avec l'expression rationnelle.

$varcount = preg_match_all("/ :.+ /", $sql, $out); 

Répondre

2

Essayez cette regex à la place:

/:\w+/ 

\w correspond à l'une des a-z, A-Z, 0-9 ou _, qui est généralement ce que les noms des paramètres consistent en.

Donc, pour votre code,

$varcount = preg_match_all("/:\\w+/", $sql, $out); 
+0

Ah, merci. Cela fonctionne très bien! – Bartb

Questions connexes