Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Query corretta ma non eseguita

    Buongiorno a tutti,
    il mio problema è il seguente: nel mio codice ho una query scritta correttamente e che, se eseguita con phpMyAdmin, ottengo il risultato desiderato. Non ne conosco il perchè ma eseguendola come codice php essa non funziona. La query è la seguente:

    Codice PHP:
    $query_update "UPDATE posizioni SET id_competenze='$id_competenze', val_competenze='$val_competenze' WHERE id_pos=$id_pos;"
    Mediante diverse prove ho potuto notare che, durante l'esecuzione, non vengono viste le variabili $id_competenze e $val_competenze se composte in un certo modo.
    Mi spiego meglio. Le variabili che voglio aggiornare sono scritte in un certo formato composto da numeri e da dei caratteri '|'. Ad esempio: |123|45|678. Se passo come contenuto una stringa simile essa non viene inserita mentre, se passo stringhe "normali" esse vengono inserite.
    Dove sta il problema?
    Grazie in anticipo.

  2. #2
    Quote Originariamente inviata da SteveRT80 Visualizza il messaggio
    Buongiorno a tutti,
    il mio problema è il seguente: nel mio codice ho una query scritta correttamente e che, se eseguita con phpMyAdmin, ottengo il risultato desiderato. Non ne conosco il perchè ma eseguendola come codice php essa non funziona. La query è la seguente:

    Codice PHP:
    $query_update "UPDATE posizioni SET id_competenze='$id_competenze', val_competenze='$val_competenze' WHERE id_pos=$id_pos;"
    Mediante diverse prove ho potuto notare che, durante l'esecuzione, non vengono viste le variabili $id_competenze e $val_competenze se composte in un certo modo.
    Mi spiego meglio. Le variabili che voglio aggiornare sono scritte in un certo formato composto da numeri e da dei caratteri '|'. Ad esempio: |123|45|678. Se passo come contenuto una stringa simile essa non viene inserita mentre, se passo stringhe "normali" esse vengono inserite.
    Dove sta il problema?
    Grazie in anticipo.
    Messa cosi' e' difficile capire quale sia il problema, bisognerebbe vedere cosa contengono davvero le variabili. Metti un
    Codice PHP:
    echo $query_update
    al posto dell'esecuzione e vedi se la query e' quella che dovrebbe essere con i valori giusti.

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Benvenuto.
    Prima di usarle nella query, passa le variabili alla funziona mysql_real_escape_string().

    Codice PHP:
    $id_competenze mysql_real_escape_string($id_competenze);
    $val_competenze mysql_real_escape_string($val_competenze);

    $query_update "UPDATE posizioni SET id_competenze='$id_competenze', val_competenze='$val_competenze' WHERE id_pos=$id_pos;"
    Ultima modifica di Alhazred; 14-04-2015 a 10:00

  4. #4
    Vi ringrazione per le risposte. E' tutto ieri che provavo a farla funzionare, e oggi, non so per quale mistico evento, senza cambiare nulla, funziona.
    Grazie lo stesso per l'interessamento

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sì, ma se i dati arrivano da un form, la funzione mysql_real_escape_string() usala ugualmente.

Tag per questa discussione

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.