Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    116

    Problema con delete da Database

    ciao a tutti pemetto che sono un principante ancora riguarda queste cose, ho un problema che riguarda l'eliminazione di una riga da una database dove l tabella e formata cosi

    CREATE TABLE address_book (
    idaddress_book int(11) NOT NULL auto_increment,
    email_address varchar(50) NOT NULL default '',
    password varchar(50) NOT NULL default '',
    ipaddress varchar(50) NOT NULL default '',
    PRIMARY KEY (idaddress_book)
    );

    il form per l'elimiazione e questo:

    <!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <title>News Letters</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    <table BORDER="0" WIDTH="418" ALIGN="center">
    <tr><td COLSPAN="2" ALIGN="center">
    [img]img/newsletter.png[/img]</img></td></tr>
    <tr><TD COLSPAN="2" HEIGHT="20"></td></tr>
    <tr><TD COLSPAN="2" ALIGN="center"><span class="menu_descr">Modulo di eliminazione servizio Newsletter Rasengan

    inserisci E-mail da Eliminare e la password corrispondente inserita al momento dell'iscrizione</span></td></tr>
    <tr><td ALIGN="center">
    <form action="?link=newsletter/delete_email.php" method="post">
    <div><SPAN class="menu_descr">Indirizzo e-mail:</span> </td><td ALIGN="center"><input type="text" name="email_address" /> </td></tr>
    <tr><td ALIGN="center">
    <span class="menu_descr">Password :</span></td><td ALIGN="center"> <input type="text" name="password" /></td></tr>
    <tr><td COLSPAN="2" ALIGN="center"><span class="menu_descr"></span></td></tr>
    <tr><td COLSPAN="2" HEIGHT="40" ALIGN="center">
    <input type="SUBMIT" value="Elimina" /></td></tr>
    <tr><td COLSPAN="2" ALIGN="center"><SPAN class="menu_descr">Hai dimenticato la password? clicca qui ---> Recupera password</span></td></tr>

    </table>
    </div>
    </form>
    </body>
    </html>

    la pagina in php dove dovrebbe avenire l'eliminazione e questa:

    Codice PHP:
    <?php


    include("contenuti/newsletter/config.php");
    // In caso di fallimento visualizza l'errore ed esce
    // Ok abbiamo la connessione facciamo qualche verifica ed eseguiamo la query sql



    // Verifichiamo di avere l'indirizzo email e la pass

    $password=$_POST['password'];
    $email=$_POST['email_address'];

    if (
    $password=='' or $email=='')
    {
    echo 
    '
    <DIV align="center"><SPAN class="menu_descr">Alcuni campi non sono stati inseriti riprova.

    [url="?link=newsletter/form_delete_email.php"]Torna Indietro[/url]</span></div>'
    ;
    }
    else
    {
    $sql "delete from address_book where email_address='".$email."' and password='".$password."' ";
    $res mysql_affected_rows($sql);
    if (
    $res>0)
    {
    echo 
    'eliminazione riuscita grazie di avere partecipato alla nostra news letter';
    }
    else
    {
    echo 
    '
    <DIV align="center"><SPAN class="menu_descr">la password o l\'indirizzo inseriti non sono presenti nel nostro database e quindi non e stato possibile effettuare l\'operazione richiesta, controllare i campi inseriti grazie

    [url="?link=newsletter/form_delete_email.php"]Torna Indietro[/url]</span></div>'
    ;
    }
    }


    ?>
    solo che non funziona! forse dovrei specificare anche il terzo dato della tabella riguardante l'indirizzo ip? in questo caso come faccio a fare in modo che vada bene qualunque dato ci si nell'ipaddress? qualcuno mi puo aiutare? grazie mille.

  2. #2
    $sql = "delete from address_book where email_address='".$email."' and password='".$password."' ";
    $res = mysql_affected_rows($sql);




    non esegui la query....

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

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    116
    in che senso scusa potresi essere piu chiaro magari mettendo un esempio di come dovrei fare allora? grazie mille dell'aiuto.

  4. #4
    codice:
    $sql = "delete from address_book where email_address='".$email."' and password='".$password."' ";
    
    $resource = mysql_query($sql) or die(mysql_error());
    
    $res = mysql_affected_rows($resource);

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

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    116
    ho provato come hai scritto l righe si cancellano adesso grazie mille ma mi viene sempre presentato l'istruzione relativa all'else del controllo nel caso la riga non e stata cancellata

    if ($res>0)
    {
    echo 'eliminazione riuscita grazie di avere partecipato alla nostra news letter';
    }
    else
    {
    echo 'la password o l'indirizzo inseriti non ecc.ecc.' ;
    }

    in pratica il controllo sul delete non mi restituisce il valore maggiore di 0 boh

  6. #6
    stampati la query per vedere come si risolvono le variabili e stampa anche $res per vedere cosa ricevi.

    codice:
    $sql = "delete from address_book where email_address='".$email."' and password='".$password."' ";
    echo $sql;
    $resource = mysql_query($sql) or die(mysql_error());
    
    $res = mysql_affected_rows($resource);
    echo $res;
    spero che tu abbia notato che ora la variabile che raccoglie il resource id# si chiama $resource.

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

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    116
    ho provato a stampare la variabile $res come mi hai suggerito e non mi da niente $resource invece mi da come valore 1 si puo effettuare il contrllo direttametne con resource? oppure potrebbero sorgere problemi? grazie mille davvero per il tempo che mi stai dedicando ^^.

  8. #8
    Originariamente inviato da killua85
    ho provato a stampare la variabile $res come mi hai suggerito e non mi da niente $resource invece mi da come valore 1 si puo effettuare il contrllo direttametne con resource? oppure potrebbero sorgere problemi? grazie mille davvero per il tempo che mi stai dedicando ^^.
    meglio se rileggi per bene quello che ho scritto.

    tu devi stampare $res che e' la variabile che raccoglie il numero delle righe modificate.

    $resource contiene un id che serve a mysql_affected_rows() per leggere il risultato.

    Ma se non ti stampa nulla $sql ... questo mi pare impossibile

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

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    116
    ha questo:
    $sql = "delete from address_book where email_address='".$email."' and password='".$password."' ";

    $resource = mysql_query($sql) or die(mysql_error());

    $res = mysql_affected_rows($resource);

    echo "res: $res , resourse: $resource, sql:$sql";

    mi da come risultato questo

    res: , resourse: 1, sql:delete from address_book where email_address='pincopallino@hotmail.it' and password='killua85'

    $res mi da niente

  10. #10
    ok.... un paio di mie cappellate....

    e' corretto.

    mysql_query rende per update/deleted/insert il numero delle righe modificate e non il resource id#
    mysql_affected_rows() vuole la connessione e non il resource id#

    quindi rivedendo il tutto:
    codice:
    $sql = "delete from address_book where email_address='".$email."' and password='".$password."' ";
    $res = mysql_query($sql);
    
    if ($res > 0)
    ....
    etc......
    scusa il qui quo qua... ma sono in fase sleepping ...

    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.