2013-06-19 3 views
0

작동하지 않지만 의미 상 올바르지 않으므로이 코드에 문제가 있습니다. "die("Errore nella query: $query.");"까지 도착하지만 그 이유는 알 수 없습니다. 도와주세요 :PHP를 사용하여 MySQL 데이터베이스에 HTML 양식 데이터를 삽입하십시오.

<?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); 
?> 
+0

'사용자 이름 양쪽에 넣으려고하면'username \ '이 (가) – Dave

+1

됩니다. 결과는 영어이지만 사용자의 쿼리는 이탈리아어로되어 있습니다. If (! $ risultato) Ciao로 if (! $ result)를 변경하십시오. –

+0

부주의하게해서 죄송합니다! 몇 시간의 수면! 고마워요! – user2467899

답변

1

$ 결과 변수를 확인했지만 SQL 데이터는 $ risultato에 저장됩니다. 변수 이름 바꾸기 오른쪽

+0

Opppsssss 나는 trueeee :-) 당신을 감사합니다 – user2467899

+0

당신은 환영합니다 :) – CharlyDelta

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

잘못된 변수를 확인한 것처럼 보입니다. 이것을 시도하십시오 :

if (!$risultato) { 
+0

부주의로 미안 해요! 몇 시간의 수면! 대단히 감사합니다. – user2467899

관련 문제