2017-03-22 2 views
-1

mysql_query를 사용하는 데 문제가 있습니다. 나는 데이터베이스에서 직접 내 쿼리를 실행하려고 시도했기 때문에 결과가 제로 일지라도 항상 결과가 0이되고 결과가 나타납니다. 아래에있는 내 코드를 참조하십시오mysql_query를 사용하여 데이터를 가져올 수 없습니다.

<?php 
$username = $_POST['user']; 
$password = $_POST['pass']; 

$username = stripcslashes($username); 
$password = stripcslashes($password); 
$username = mysql_real_escape_string($username); 
$password = mysql_real_escape_string($password); 


mysql_connect("localhost","root",""); 
mysql_select_db("login"); 

$query = sprintf("select * from users where username='$username' and password='$password'"); 
$result = mysql_query($query); 

$row = mysql_fetch_array($result); 

if($row['username'] == $username && $row['password'] == $password) 
{ 
    echo "Login Successful! Welcome".$row['username']; 
} 
else{ 
    echo "Login Failed"; 
} 

?> 
+0

이 질문을 무시하십시오. 벌써 대답을 얻었다. 모든 도움에 감사드립니다. 정말 고마워. :) – sack

+0

쿼리 결과가 0 인 데이터베이스 이름을 추가하는 것을 잊어 버렸습니다. – sack

+0

다음 질문을 삭제하십시오. – mickmackusa

답변

1

당신은 sprintf를 사용하지만 당신이 변수 자리 표시자를 제공하지 않았고, 당신이 변수가 해석 할 수 있도록 따옴표 대신 큰 따옴표를 사용합니다.

1

일부 디버깅을 추가하여 도움을 받으십시오. 이 후

...

$result = mysql_query($query); 

이 추가 ...

if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

저장하고 코드를 다시 실행합니다.

mysql_error()가 있으면 알려주십시오.

+0

나는 그것이 무엇이 잘못되었는지 알고 있습니다. – sack

+0

@sack 좋습니다, 알려주십시오. –

+0

결과가 0 인 쿼리에 데이터베이스 이름을 추가하는 것을 잊어 버렸습니다. 이 어리석은 질문에 대해 유감스럽게 생각합니다. :) – sack

1
  1. 쿼리가 성공적으로 종료되었는지 확인해야합니다.

    if (! $ result) { 인쇄 mysql_error(); die(); }

  2. mysql입니다. 사용하기 PDO

관련 문제