Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    Estrapolare da una query: tipo, tabella e id

    Se ho una query memorizzata in una stringa come ad esempio:

    $query= "INSERT INTO `jx_adv` ( `adv_id` , `adv_title` , `adv_code` , `adv_target` , `adv_identify` )
    VALUES (
    NULL , '', 'ww', '', ''
    );"


    come faccio ad estrapolare dalla variabile $query:

    1) il tipo (INSERT, UPDATE, DELETE);
    2) la tabella su cui eseguo la query;
    3) gli "id" dei record interessati

    grazie in anticipo
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    up
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    up
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  4. #4
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    up
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  5. #5
    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(=> 'INSERT'=> 'UPDATE'=> '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.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.