[PHP] UPDATE DATO , SE ESISTE IN DB ..

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Buongiorno a tutti,
Avrei bisogno di un aiutino se possibile.
Ho bisogno di aggiornare la mia tabella db tramite un form che ho creato ad hoc per le mie necessita' ma vorrei programmare la pagina php in modo tale che , se il dato che inserisce l'utente , non e' presente nel DB , allora restituiscimi un errore....
Ecco la pagina php:
PHP:
$con = mysqli_connect("localhost","utente","", "my_DB");
if (!$con)
  {
  die('Could not connect: ' . mysqli_error());
  }
$dato53 = mysql_real_escape_string($_POST['dato53']);
$dato9 = mysql_real_escape_string($_POST['dato9']);
$dato50 = mysql_real_escape_string($_POST['dato50']);
                if($dato53 == "" || $dato9 == "" || $dato50 == ""  ){
                        echo "<h1><font color='white'>ATTENZIONE , DEVI COMPILARE TUTTI I CAMPI !</font></h1>";
                              header("Refresh: 4; URL= http://MOSITOWEB.altervista.org/registrazione_utenti/boxatura/index.php");
 }else {
$dato53 = $_POST["dato53"];
$dato9 = substr("0000000".$_POST["dato9"] ,-7);
$dato50 = $_POST["dato50"];
 $sql="UPDATE completo SET DATO53 = '$dato53',DATO50 = '$dato50' WHERE DATO9 = '$dato9'";
 $exec = mysqli_query($con, $sql) or die(mysqli_error());
         echo "";
 }
mysqli_close($con)

Come potrei risolvere ??

Grazie Mille a tutti in anticipo
 
Ultima modifica di un moderatore:
PHP:
$sql="SELECT * WHERE DATO9 = '$dato9'";
$exec1 = mysqli_query($con, $sql);
if(mysqli_num_rows($exec1) > 0) {
$sql="UPDATE completo SET DATO53 = '$dato53',DATO50 = '$dato50' WHERE DATO9 = '$dato9'";
 $exec = mysqli_query($con, $sql) or die(mysqli_error());
        echo "";
}

Dovrebbe essere così ma non l'ho verificato.
 
PHP:
$con = mysqli_connect("localhost","utente","", "my_DB");
if (!$con)
  {
  die('Could not connect: ' . mysqli_error());
  }
$dato53 = mysql_real_escape_string($_POST['dato53']);
$dato9 = mysql_real_escape_string($_POST['dato9']);
$dato50 = mysql_real_escape_string($_POST['dato50']);
               if($dato53 == "" || $dato9 == "" || $dato50 == ""  ){
                       echo "<h1><font color='white'>ATTENZIONE , DEVI COMPILARE TUTTI I CAMPI !</font></h1>";
                             header("Refresh: 4; URL= http://MOSITOWEB.altervista.org/registrazione_utenti/boxatura/index.php");
 }else {
$dato53 = $_POST["dato53"];
$dato9 = substr("0000000".$_POST["dato9"] ,-7);
$dato50 = $_POST["dato50"];
$sql="SELECT * WHERE DATO9 = '$dato9'";
$exec1 = mysqli_query($con, $sql);
if(mysqli_num_rows($exec1) > 0) {
 $sql="UPDATE completo SET DATO53 = '$dato53',DATO50 = '$dato50' WHERE DATO9 = '$dato9'";
 $exec = mysqli_query($con, $sql) or die(mysqli_error());
        echo "DATO INSERITO CORRETTAMENTE";
 }
mysqli_close($con)

Dove sbaglio?
 
Ultima modifica di un moderatore:
ciao
prova così
PHP:
if(trim($_POST['dato53']) == "" || trim($_POST['dato9']) == "" || trim($dato50) == ""  ){
    echo "<h1 style='color:#FFF;'>ATTENZIONE , DEVI COMPILARE TUTTI I CAMPI !</h1>";//il tag font è deprecato
    header("Refresh: 4; URL= http://MOSITOWEB.altervista.org/registrazione_utenti/boxatura/index.php");
}else{
    $conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
    $dato9 = mysqli_real_escape_string($conn, $_POST['dato9']);//attento: hai messo mysql_ e non mysqli_
    $dato9 = substr("0000000".$_POST["dato9"] ,-7);
    $sql="SELECT * WHERE DATO9 = '$dato9'";
    $exec1 = mysqli_query($con, $sql);
    if(mysqli_num_rows($exec1) > 0){
        //$dato53 e $dato50 li escapi solo se poi ti servono
        $dato53 = mysqli_real_escape_string($conn, $_POST['dato53']);
        $dato50 = mysqli_real_escape_string($conn, $_POST['dato50']);
        $sql="UPDATE completo SET DATO53 = '$dato53', DATO50 = '$dato50' WHERE DATO9 = '$dato9'";
        $exec = mysqli_query($con, $sql) or die(mysqli_error());
        echo "DATO INSERITO CORRETTAMENTE";
        //e il ritorno automatico a dove vuoi
    }else{//se non ti serve questo elese puoi toglierlo
        echo "DATO $dato9 non esiste";
        //e il ritorno automatico a dove vuoi
    }
    mysqli_close($con);
}
 
RISOLTO !
Grazie Borgo avevo dimenticato di inserire il nome del DB per la select qui
Codice:
$sql="SELECT *  FROM mydb WHERE DATO9 = '$dato9'";
 

Discussioni simili