Visualizzazione risultati 1 fino 3 di 3

Discussione: query passata come parametro

  1. #1
    musicdate non è connesso Utente giovane
    Data registrazione
    06-01-2012
    Messaggi
    87

    Question query passata come parametro

    salve.
    sto cercando di passare una stringa contenente una query ad un file php che risiede sul server al fine di fargli eseguire la query passata come parametro (query del tipo INSERT INTO tabella (nome) VALUES ('mionome')).
    nonostante numerosi tentativi non sono riuscito a venirne a capo.
    Codice PHP:
    $postUrl=$_SERVER["REQUEST_URI"]; //variabile con cui intercetto la richiesta

    if(strpos($postUrl,'storeavalue')){ //controllo che si tratti di una storevalue

    $tag = trim($_POST['tag']); //memorizzo i campi tag e value
    $query_string = trim($_POST['value']); //fin qui funziona

    $query_result=mysql_query($query_string, $connection); //<--qui è l'errore?!!?!?
    if ($query_result==FALSE) { mysql_query("INSERT INTO tabella (risultato) VALUES ($query_string)", $connection);}
    se vado a verificare nel database al termine del programma php nel campo risultato osservo la stringa $query_result che è pari pari quella che passo tramite il trim($_POST['value']) (cioè INSERT INTO tabella (nome) VALUES ('mionome')); tuttavia il comando mysql_query sembra interpretarla in modo diverso da quanto mi aspetto; se copio il valore della query (memorizzato nel campo risultato) nella scheda SQL del db ed eseguo la query "manualmente" sul db tutto funziona a meraviglia.
    mi chiedo:
    1. durante il passaggio della query al server vengono aggiunti dei caratteri extra alla stringa? come faccio a visualizzare in fase di debug cosa viene effettivamente passato?
    2. la query passata non è di tipo stringa? come faccio a verificarlo? (ho provato anche con un operatore di cast (string)trim($_POST['value']) ma senza risultati!)
    3. altri suggerimenti?

    grazie
    Ultima modifica di alemoppo : 20-01-2012 alle ore 14.03.40 Motivo: +tag [php]

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Dipende tutto da quello che passi come parametro, ma il codice che hai incollato contiene anche degli errori per cui non potrebbe funzionare.

    In ogni caso volevo dire che il tuo approccio è quanto più sbagliato possibile dal punto di vista della sicurezza. In pratica permetti a chiunque di utilizzare a piacimento il tuo database.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    musicdate non è connesso Utente giovane
    Data registrazione
    06-01-2012
    Messaggi
    87

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Dipende tutto da quello che passi come parametro, ma il codice che hai incollato contiene anche degli errori per cui non potrebbe funzionare.

    In ogni caso volevo dire che il tuo approccio è quanto più sbagliato possibile dal punto di vista della sicurezza. In pratica permetti a chiunque di utilizzare a piacimento il tuo database.
    è la prima volta che programmo in php: potresti indicarmi dove sono gli errori?

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •