2014-02-09 2 views
0

Когда я запускаю этот код, он всегда возвращает 0, даже если у меня есть правильная информация. Я проверил в базе данных тот же запрос и возвращает число один, когда у меня есть правильная информация, но это всегда возвращает 0.Не удается получить результат COUNT из запроса sqli

$query = 'SELECT COUNT(*) FROM user WHERE UserName = "$username" AND UserPass = "$password"'; 

    $result = mysqli_query($con, $query); 

    $hello = mysqli_fetch_array($result); echo $hello[0]; exit; 

ответ

1

изменение

$query = 'SELECT COUNT(*) FROM user WHERE UserName = "' . $username . '" AND UserPass = "'. $password .'"'; 
+0

хорошо, что было неловко легко! haha спасибо очень много :) – user3105607

+0

как насчет принятия ответа: D – tinybyte

+0

две минуты все еще ха-ха – user3105607

0

Я действительно надеюсь, что вы оставили из ваши обширные меры безопасности из вашего фрагмента. Я предлагаю вам применить некоторые подготовленные заявления pronto, но это другой вопрос!

Вместо использования fetch попробуйте использовать num_rows.

$query = "SELECT 1 FROM `user` WHERE `UserName` = '$username' AND `UserPass` = '$password'"; 
$result = mysqli_query($con, $query); 
echo mysqli_num_rows($result); 

Попытайтесь поиграть с чем-нибудь подобным!

+0

Эй, еще не написано. какой материал я должен смотреть на безопасность? это не дорогая система входа, поэтому ничего промышленного хаха – user3105607

+1

Хороший вопрос! Даже если ваша система предназначена для пары друзей, все может пойти не так, просто добавив значения в SQL. Я предлагаю Googling 'mysqli_real_escape_string' или взглянуть на [подготовленные заявления] (http://us2.php.net/manual/en/mysqli.quickstart.prepared-statements.php). Кроме того, у StackOverflow есть [страница о безопасности] (http://security.stackexchange.com/), которую вы можете проверить! –

+0

ОК классный, ура :) – user3105607

Смежные вопросы