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

    [MySQL] Delete Multipla

    Ciao ragazzi.
    Mi sto scervellando con una query che non si comporta come dovrebbe.
    Passo a spiegarvi.

    Ho una tabella dove vengono salvati dei commenti ad un blog.
    I commenti vengono filtrati per evitare inoculazione di codice e/o parolacce, ma qualcuno potrebbe comunque inserire messaggi offensivi o spam di qualche tipo.

    L'amministratore del sito potrà quindi cancellare i messaggi "politically incorrect".
    Ho quindi una form dove sono listati i messaggi ed una checkbox per ognuno.
    Codice PHP:
    echo "
    <input type=\"checkbox\" id=\"seleziona[]\" name=\"seleziona[]\" value=\"
    $id_commento\" />
    "

    Nello script che cancellerà i record dalla tabella dei messaggi, la parte di codice incriminata è la seguente:
    Codice PHP:
    $lista_id implode(','$_POST['seleziona']); 
    $sql "DELETE FROM nome_tabella WHERE id IN ('$lista_id') "
    La magagna sta qui.

    Se vengono selezionati 3 messaggi e stampo la query leggo:
    codice:
    DELETE FROM nome_tabella WHERE id IN ('11,14,15')
    Ma in effetti viene cancellato solo 1 dei record passati.

    Dov'è che sbaglio???
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  2. #2
    ... WHERE id IN ($lista_id) ";

    togli le apici. Si tratti di singoli valori numerici e non di una stringa.

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

  3. #3
    Ma che imbecille!!!
    Le avevo provate tutte tranne quella!
    Grazie Piero, sei sempre un grande! :berto:

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.