Moin!
Nein, die Regex wird dynamisch mit einer Variablen befüllt, welche "ausführbaren" Regex-Code enthält. Das ist qualitativ dasselbe, wie wenn eine Variable ausführbaren SQL-Code enthält.
Also...
$strStatement = "SELECT * FROM
bar
"
$strRegTbl = "foo";
if (preg_match("#(SELECT|UPDATE|INSERT)\s(INTO|FROM)?".$strRegTbl."\s(.+)#im", $strStatement)) {
// wird nicht ausgeführt
var_dump($strRegTbl);
}
>
> irgendwas scheint da wohl nicht zu stimmen, denn egal welche Tabelle ich "registriere", die Bedingung der Abfrage wird nie erfüllt.
Wo sind die Backticks um "bar" herum im Regex?
Der Ansatz bringt allerdings nichts, siehe <https://forum.selfhtml.org/?t=211646&m=1444610>
- Sven Rautenberg