2010-11-21 5 views
0

이 코드 블록이 작동하지 않는 이유를 알아 내려고 꽤 오래 동안 노력했습니다. 로그인 후 (이 PHP 문서에 데이터를 보내려면 게시물을 사용하는 HTML 페이지) 그것은 말합니다 : "데이터베이스를 선택할 수 없습니다 !!" (인용없이). 도와주세요! 고맙습니다! 내가 생각할 수있는PHP 오류가있는 MySQL

<?php 
$host="localhost"; 
$username="root"; 
$password=""; 
$db_name="firstTestLogins"; 
$tbl_name="members"; 

mysql_connect("$host", "$username, $password") or die("cannot connect to the database!!"); 
mysql_select_db("firstTestLogins") or die("cannot select the database!!"); 



$username=$_POST['username']; 
$password=$_POST['password']; 

$username=stripslashes($username); 
$password=stripslashes($password); 
$username=mysql_real_escape_string($username); 
$password=mysql_real_escape_string($password); 
$password = md5($password); 
echo "This is a debug statement. User = $username and password = $password <br><br><br>"; 
if(!($sql="SELECT * FROM $tbl_name WHERE username = '$username' and password = '$password")) {die(mysql_error());} 
$result = mysql_query($sql); 
$test3 = mysql_num_rows(/*$result*/mysql_query($sql)); 
echo "$test3"; 
if(mysql_num_rows(/*$result*/mysql_query($sql))) { //should be true because only one row should match the user and pass 
    $_SESSION['username'] =1; 
    $_SESSION['password'] =1; 
    header("location:login_success.php"); 

} 
else { 
    echo "The incorrect username or password was inserted"; 
} 
?> 
+0

확실하지 않음을 선택할 수없는 이유를 파악하는 데 도움이됩니다

mysql_select_db("firstTestLogins") or die(mysql_error()); 

MySQL –

답변

3

이것은 잘못된 것입니다 :

mysql_connect("$host", "$username, $password"); 

mysql_connect($host, $username, $password); 

당신이 mysql_error()를 출력하여 정확한 문제를 볼 필요가있다. 데이터베이스 선택에 대한 의견뿐만 아니라

mysql_select_db("firstTestLogins") 
or die("cannot select the database! ".mysql_error()); 
+0

경고 : mysql_num_rows()는 매개 변수 1이 리소스가 될 것으로 예상하고, 부울 값은 /Applications/XAMPP/xamppfiles/htdocs/phplogintest/checklogin.php에 24 행으로 입력합니다. 경고 : mysql_num_rows() ~을 기대하는 매개 변수 1은 리소스, 부울은 /Applications/XAMPP/xamppfiles/htdocs/phplogintest/checklogin.php 26 줄에 잘못된 사용자 이름 또는 비밀번호가 삽입되었습니다. – joshim5

0

유일한 것은 firstTestLogins 데이터베이스 중 하나를 데이터베이스에 존재하지 않거나 사용중인 사용자 이름/암호 조합에 의해 액세스 할 수없는 않는다는 것입니다.

1

:

if(!($sql="SELECT * FROM $tbl_name WHERE username = '$username' and password = '$password")) {die(mysql_error());} 

바보는 $ SQL 문자열이 설정되지 않는 경우 mysql_error를 사용하여 테스트를 수행하는 것은 ...이 생성되지 않습니다 MySQL의 오류

당신은 또한 당신의 $의 SQL에서 닫는 '을 놓치고

$sql="SELECT * FROM $tbl_name WHERE username = '$username' and password = '$password'"; 
$result = mysql_query($sql); 
if(!$result) 
    die(mysql_error()); 
2

코드를 변경하십시오 에서 :

mysql_select_db("firstTestLogins") or die("cannot select the database!!"); 

에이 완전히 다른 제품이다 SQL 서버 태그 이유는 MYSQL의 DB

관련 문제