Boh! ... dipende sopratutto a cosa ti serve... diciamo che va gestito il discorso degli id nel senso che se e' una insert devi leggere "dopo" se un update puo' essere indifferente se prima o dopo, ma se e' un delete l'id lo devi leggere prima.
il tipo di statement lo puoi individuare tramite un array e stristr() e lo stesso per il nomi delle tabelle. Parti dal principio che per sapere cosa cercare devi sapere cosa stai cercando...
esempio:
Codice PHP:
<?php
$tipo = array(0 => 'INSERT', 1 => 'UPDATE', 2 => 'DELETE');
$query = "INSERT INTO `jx_adv` (`adv_id`, `adv_title`, `adv_code`, `adv_target`, `adv_identify`)
VALUES (NULL , '', 'ww', '', '')";
foreach($tipo as $value) {
if(stristr($query, $value)) {
echo $tipo_query = $value;
}
}
?>
lo stesso fai con i nomi delle tabelle. Se non sai i nomi delle tabelle interessate si presume almeno tu sappia il nome del database. Allora fai una query e popola un array con il nome delle tabelle e poi rifai il giochino del foreach cui sopra.
altro esempio:
Codice PHP:
mysql_connect("localhost", "root", "password");
$res = mysql_list_tables("tuo_db");
for ($i = 0; $i < mysql_num_rows($res); $i++) {
$tabelle[] = mysql_tablename($res, $i);
}
foreach($tabelle as $value) {
if(stristr($query, $value)) {
echo $nome_tabella = $value;
}
}
credo sia la via piu' semplice.