user2467899
user2467899

Reputation: 575

insert HTML form data to a MySQL database with PHP

I have a problem with this piece of code because it does't work but it seems to be semantically correct. It arrive up to "die("Errore nella query: $query.");" but I can't understand why. Help me please:

<?php
// Connessione al DB Server
$conn = mysqli_connect("localhost","root","","mydb");
// Controllo
if (!$conn){
  echo "connessione database fallita";
  exit();
}
$nome = $_POST["nm"];
$cognome = $_POST["cgn"];
$email = $_POST["ml"];
$username = $_POST["nkn"];
$password = md5($_POST["psw1"]);

$nome = mysqli_real_escape_string($conn,trim($nome));
$cognome = mysqli_real_escape_string($conn,trim($cognome));
$email = mysqli_real_escape_string($conn,trim($email));
$username = mysqli_real_escape_string($conn,trim($username));
$password = mysqli_real_escape_string($conn,trim($password));

$query = "SELECT username FROM utenti WHERE username = '".$username."'";
$risultato = mysqli_query($conn,$query);
if (!$result) {
    die("Errore nella query: $query.");
}
$riga = mysqli_fetch_array($risultato,MYSQLI_NUM);
$n = mysqli_affected_rows($conn);
if($n >= 1){
    echo "Username non disponibile";
}else{
    $inserisci = "INSERT INTO utenti (nome,cognome,email,username,password) VALUES ('$nome','$cognome','$email','$username','$password')";
    mysqli_query($conn,$inserisci);
?>
<p>Utente: <?php echo $username ?> registrato con successo.</p>
<?php
}
mysqli_close($conn);
?>

Upvotes: 0

Views: 527

Answers (2)

Dale Caffull
Dale Caffull

Reputation: 101

$risultato = mysqli_query($conn,$query);
if (!$result) {
    die("Errore nella query: $query.");
}

It looks like you're checking the wrong variable. Try this:

if (!$risultato) {

Upvotes: 1

user2026993
user2026993

Reputation:

You check for the $result variable, but the SQL Data is stored in $risultato. Rename your variables right

Upvotes: 1

Related Questions