새로운 호스팅에 많은 문제가 있습니다.하지만 더 자세히 살펴보면 모든 작업과 관련이있는 것 같습니다. 로그인, 등록 및 제출의 유효성을 확인할 때 데이터베이스에서 확인합니다. 다음은 그 예입니다.새로운 호스팅/서버로 이전 됨 - 양식 유효성 검사를 위해 MySQL을 사용할 때 문제가 발생했습니다.
저는 validate forms에 jQuery를 사용합니다. 하나는 사용자가 로그인하려고 할 때 실제로 사용자 이름이 존재하는지 확인하는 데 사용됩니다 (걱정하지 마세요. 서버 쪽도 확인합니다). 내 개발 서버에서, 이것은 완벽하게 작동합니다. jQuery 유효성 검사에 익숙하지 않다면, 기본적으로 JSON 형식의 서버에 true 또는 false를 반환하지만, 그 부분에 대해서는 완전히 지식이 없습니다.
코드 :
//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를 돌려주는 것입니다. 어떤 이유로 든 나는 항상 mysql_num_rows($res)
에 대해 1을 반환한다고 생각합니다.
이 정확한 코드 (정확한 것으로 판단하기 위해 수백 번 확인한 새 데이터베이스 변수 제외)는 여전히 내 개발 서버에서 의도 한대로 작동합니다. 나는 그것이 새로운 서버와 관련이 있다고 가정 할 수있다. 그래서 내가 단서가 없기 때문에 Stack Overflow를 묻는 것이다.
이 'JSON'을 확인 했습니까? jQuery가 항상 true로 평가하는 반환 값을 망가뜨리는 오류가있을 수 있습니다 ... – Joep
$ query를 출력하여 쿼리가 의도 한대로 보이는지 확인할 수 있습니까? – Dan
'$ login_value'에 어디에서 값을 부여합니까? – Repox