Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Errore query da PHP

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    45

    Errore query da PHP

    Salve a tutti,

    ho un problema che non riesco a capire con php e mysql:

    Apro una pagina php da un form con POST settato. La variabile POST contiene un array di ID di tabella che devo cancellare, quindi procedo così:
    Codice PHP:
    if(isset($_POST['rows']) and is_array($_POST['rows'])) {
        foreach(
    $_POST['rows'] as $value) {
            
    $row = (int)($value);
            
    $query mysql_query("DELETE FROM tabella WHERE id = " $row);
        }

    Lo script esce dandomi errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 43' at line 1;

    come si può spiegare? Se faccio da linea di comando: DELETE FROM tabella WHERE id = 43; il comando funziona. Qualcuno saprebbe aiutarmi?
    Vi ringrazio anticipatamente.

  2. #2
    $query = mysql_query("DELETE FROM tabella WHERE id = $row");

    pero' userei implode per mettere gli id in una variabile separati da una virgola e nel where metterei "where id IN($id) facendo una sola query.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    45
    Anche usando la tua istruzione mi da sempre lo stesso errore. C'è qualcosa che va oltre la query che non gli permette di essere eseguita correttamente.

  4. #4
    Originariamente inviato da raulz79
    Anche usando la tua istruzione mi da sempre lo stesso errore. C'è qualcosa che va oltre la query che non gli permette di essere eseguita correttamente.
    stampa la query e vedi cosa contiene.
    Codice PHP:
    if(isset($_POST['rows']) and is_array($_POST['rows'])) {
        foreach(
    $_POST['rows'] as $value) {
            
    $row = (int)($value);
            
    // $query = mysql_query("DELETE FROM tabella WHERE id = " . $row);

           
    echo "DELETE FROM tabella WHERE id = $row 
    "
    ;
        }


    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.