2014-01-27 2 views
0

mysqli_query가 실패하는 이유를 찾기 위해 모든 것을 시도했습니다. 누구든지 내가 뭘 잘못하고 있는지 밝혀 줄 수 있니? 나는 더 이상 dababase에 연결하지 않을 가능성이 있습니까 ?? !! 미리 감사드립니다.mysqli_query가 실패한 이유 - 리소스를 반환해야 할 때 객체를 반환하는 중

function email_exists($email){ 
     $email = sanitize($email); 
    $db = new mysqli('localhost','root','','secured_login'); 
    if($db->connect_errno){ 
     $connect_error = 'Sorry, we are experiencing connection problems.'; 
     die ($connect_error); 
    } 
    return (mysql_result(mysqli_query($db, "SELECT COUNT(`user_id`) FROM `users` WHERE `email` = '$email'"), 0) == 1) ? true : false; 
} 

오류

Warning: mysql_result() expects parameter 1 to be resource, object given in.... 

다른 해결책 사용 mysqli_fetch_row(); < ----- 아래 대안이 유효합니까?

function email_exists($email){ 
    $email = sanitize($email); 
    $db = new mysqli('localhost','root','','secured_login'); 
     if($db->connect_errno){ 
      $connect_error = 'Sorry, we are experiencing connection problems.'; 
      die ($connect_error); 
     } 
    $query = "SELECT COUNT(`user_id`) FROM `users` WHERE `email` = '$email'"; 
    if ($result = mysqli_query($db, $query)){ 
     while ($result= mysqli_fetch_row($result)){ 
      return ($result); 
     }   
    } 
} 

모든 의견을 환영합니다.

답변

2

을 변경, 당신은

function email_exists($email){ 
    $email = sanitize($email); 
    $db = new mysqli('localhost','root','','secured_login'); 
    if($db->connect_errno){ 
     $connect_error = 'Sorry, we are experiencing connection problems.'; 
     die ($connect_error); 
    } 
    $query = $db->query("SELECT `user_id` FROM `users` WHERE `email` = '$email'"); 
    return ($query->num_rows > 1) ? true : false; 
} 

기억

은 입력을 살균, 또는 위해, 다음과 유사한보고해야한다 더 나은 경우 prepared statements을 사용하십시오.

+0

좋은데, 맹목적으로 해결책을 제시하는 대신 왜 설명해야하는지. 또한,'mysqli_fetch_ *'에 대해서 설명하면 좋은 생각 일 수있다. –

+0

PHP에 대해 배울 수 있습니다. 귀하의 의견을 보내 주셔서 감사합니다! – user3001162

0

mysqlmysqli으로 섞어서 표시하는 이유는 무엇입니까?

나는 그것이 오타의 추정 -하지만 그것은 단순한 형태의에서 mysql_result-mysqli_result

+0

변경하려고 시도했지만 다음 오류 메시지가 표시됨 - 치명적인 오류 : 정의되지 않은 함수 mysqli_result() 호출 – user3001162

+0

모든 mysql_result()가 mysqli_result()가 치명적인 오류로 변경되었습니다. ... – user3001162

+0

mysqli_fetch_assoc을 사용해야합니까? 아무 피드백? – user3001162

관련 문제