• User Newbie

    Gestire gli errori di Mysql

    Ciao a tutti,
    vi espongo un problema: sto creando una form di inserimento dati che verranno passati ad una query. Vorrei gestire gli errori stampando a video un messaggio che indichi se l?input inserito non è corretto.
    Il codice è questo:
    <form method="post" action=" ">
    <table border="1">
    <tr>
    <td><b>Via: <input type="text" name="via">
    </td>
    <td><b>Civico: <input type="text" name="civico">
    </td>
    </tr>
    <tr>
    <td><input type="submit" name="submit" value="invia"></td>
    </tr>
    [insert_php]
    $via = $_POST['via'];
    $civico = $_POST['civico'];

    mysql_connect(localhost,$username,$password) or die("Impossibile connettersi.");
    mysql_select_db($database) or die("Impossibile selezionare il database.");
    $query=??.";
    $risultato=mysql_query($query);
    $numrows = mysql_num_rows($risultato);
    for ($x = 0; $x < $numrows; $x++){
    ??
    echo "
    <tr>
    <td>" . $.... "</b></td>
    <td>" . $.... "</b></td>
    <td>" . $..... "</b></td>
    </tr>
    ";
    }
    if (mysql_num_rows ($risultato) < 1)
    {
    echo('Via e/o numero civico non corretto');
    }

    Il problema è che il messaggio 'Via e/o numero civico non corretto' viene visualizzato al primo caricamento della pagina; poi lavora correttamente (se l?input è corretto, non appare; caso contrario, appare)
    Chi sa aiutarmi?
    Grazie!!!


  • User

    Prova così:

    $numrows = mysql_num_rows($risultato);

    if ($numrows == 0)

    {

    echo 'Via e/o numero civico non corretto';

    }else{

    for ($x = 0; $x < $numrows; $x++){
    ??
    echo "
    <tr>
    <td>" . $.... "</b></td>
    <td>" . $.... "</b></td>
    <td>" . $..... "</b></td>
    </tr>
    ";
    }

    } //end if