2016-03-05 107 views
0

我想在我插入表之前檢查用戶名是否可用。檢查用戶名是否可用

但似乎插入表中,無論用戶名是否存在。

這裏是我的PHP代碼:

<?php 
 
session_start(); 
 
define('DB_NAME', 'madsanker_dk_db'); 
 
define('DB_USER', 'madsanker_dk'); 
 
define('DB_PASSWORD', 'myPassword'); 
 
define('DB_HOST', 'mysql43.unoeuro.com'); 
 

 
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD); 
 

 
if (!$link) { 
 
die('Could not connect: ' .mysqli_error()); 
 
} 
 

 
$db_selected = mysqli_select_db($link, DB_NAME); 
 

 
if (!$db_selected) { 
 
die('Could not connect: ' .mysqli_connect_error()); 
 
} 
 

 
$username = $_POST['username']; 
 
$password = $_POST['password']; 
 
$name = $_POST['name']; 
 
$email = $_POST['email']; 
 
$username = mysqli_real_escape_string($link,$username); 
 
$password = mysqli_real_escape_string($link,$password); 
 
$name = mysqli_real_escape_string($link,$name); 
 
$email = mysqli_real_escape_string($link,$email); 
 
$password = md5($password); 
 

 
$sql = "SELECT * FROM mainLogin WHERE username = '$username'"; 
 
    
 
$result = mysqli_query($link, $sql); 
 
    
 
$count = mysqli_num_rows($result); 
 
if($count > 0) { 
 
$sql = "INSERT INTO mainLogin (username, password, name, email) VALUES ('$username', '$password', '$name','$email')"; 
 

 
$result = mysqli_query($link, $sql); 
 

 
if (!$result) { 
 
die('Error: ' . mysqli_error($link)); 
 
}else { 
 
    $_SESSION['login'] = $username; 
 
    echo "<script>window.location = 'http://madsanker.dk.linux101.unoeuro-server.com'</script>"; 
 
} 
 
}else { 
 
    echo "username taken"; 
 
} 
 
mysqli_close($link); 
 
?>

我到底做錯了什麼?

謝謝!

UPDATE

改變$計數> 0至$計數== 0工作

+0

不插入?任何錯誤? – devpro

+0

你有var_dump();您的$結果和$計數?你會得到什麼? –

+1

只要檢查'if($ count == 0){' – Saty

回答

0

只是改變了更大的跡象,從你的if語句 「>」 到== 0

if($count==0){ 

} 
0

如果username已經在DB不是改變這種狀況:

if($count > 0) {  
    //your stuff 
} 

帶:

if($count <= 0) { // if not found 
    //your stuff 
}