0

我对这段代码有疑问,因为它不起作用,但它似乎在语义上是正确的。它达到“ die("Errore nella query: $query.");”但我不明白为什么。请帮帮我:

<?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);
?>
4

2 回答 2

1

您检查 $result 变量,但 SQL 数据存储在 $risultato 中。正确重命名变量

于 2013-06-19T10:27:33.130 回答
1
$risultato = mysqli_query($conn,$query);
if (!$result) {
    die("Errore nella query: $query.");
}

看起来您正在检查错误的变量。尝试这个:

if (!$risultato) {
于 2013-06-19T10:27:39.560 回答