2016-03-05 14 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(); ваш $ result и $ count? что вы получите в нем? –

+1

Просто проверьте 'if ($ count == 0) {' – Saty

ответ

0

просто изменить больший знак в вашей, если заявление от ">" к == 0

if($count==0){ 

} 
0

Если username уже в дб, чем изменить это условие:

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

с:

if($count <= 0) { // if not found 
    //your stuff 
} 
Смежные вопросы