У меня много проблем с новым хостингом, но чем больше я на него смотрю, тем не менее кажется, что все они связаны с выполнением проверок в моей базе данных при проверке логинов, регистраций и представлений. Вот пример одного.
Я использую jQuery для проверки форм . Один из них я использую, чтобы определить, существует ли имя пользователя на самом деле, когда пользователь пытается войти (не волнуйтесь, я также проверяю серверную часть). На моем сервере разработки это работает без нареканий. Если вы не знакомы с jQuery Validation, в основном это возвращает истину или ложь обратно на сервер в форме некоторого вида JSON, но я не совсем осведомлен в этой части.
Код:
//Database Information vars (removed)
mysql_connect ($dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());
$username = mysql_real_escape_string($login_username); // In validation, I can grab inputs like this.
$query = "SELECT username FROM registerusers WHERE username='$username';";
$res = mysql_query($query);
if (mysql_num_rows($res) > 0) {
$output = true;
} else {
$output = false;
}
echo json_encode($output);
Проблема в том, что он всегда ссылается на первое предложение и возвращает true, даже если имя пользователя не существует. По какой-то причине, я думаю, что всегда возвращается 1 для mysql_num_rows($res)
.
Этот EXACT-код (за исключением новых переменных базы данных, которые я проверял сто раз, чтобы быть точными) все еще работает, как и предполагалось, на моем сервере разработки. Я могу только предположить, что это как-то связано с новым сервером, и поэтому я спрашиваю переполнение стека, потому что понятия не имею.