• User Newbie

    Problema query per controllo dati

    Ciao a tutti, ho un problema con una query SELECT in php. In pratica, prendo dei dati da un form e, prima dell'INSERT faccio un controllo sul campo "telefono" per evitare l'inserimento di dati già presenti:

    <?
    //dichiaro variabili
    $email = $_POST['email'];
    $telefono = $_POST['telefono'];
    $ip = $_SERVER['REMOTE_ADDR'];

    //controllo duplicati
    $sql = "SELECT COUNT(*) FROM richieste WHERE telefono = '{$telefono}'";
    $query = mysql_query($sql) or die(mysql_error());
    if (mysql_result($query, 0) > 0) {
    die('Telefono già presente!!!');

    } else {

    // ...inserimento dati

    ?>

    Vorrei modificare la query per fare un controllo anche sul campo "email" e, perchè no, sul campo "ip".. ma con una query del genere non riesco:

    $sql = "SELECT COUNT(*) FROM richieste WHERE email = '{$email}' && telefono = '{$telefono}'";

    Come posso fare??
    Ringrazio anticipatamente.


  • User Attivo

    Ciao marco1976 e benvenuto nel ForumGT!
    per prima cosa bisogna vedere se vuoi che le due condizioni siano in AND o in OR ma, in ogni caso, in MySQL i comandi sono AND e OR scritti in questo modo, non come verrebbero scritti in php


  • User Newbie

    Ciao PietroR, il " die('Telefono già presente!!!'); " deve uscire se nel campo telefono viene inserito un numero già presente e nel campo email un indirizzo già esistente. Ho provato anche con AND ma niente...


  • User Newbie

    @marco1976 said:

    Ciao PietroR, il " die('Telefono già presente!!!'); " deve uscire se nel campo telefono viene inserito un numero già presente e nel campo email un indirizzo già esistente. Ho provato anche con AND ma niente...

    chiedo venia... operatore logico OR (condizione vera se uno dei due valori è vero)...


  • User Newbie

    Ho risolto! Ho commesso un'errore "da principiante"...

    $sql = "SELECT COUNT(*) FROM richieste WHERE email = '{$email}' || telefono = '{$telefono}'";

    al posto di && -->> ||


  • User Attivo

    perfetto!