2014-09-12 2 views
2

전자 메일 유효성 검사가 작동하려고합니다. 그래서 내 PHP 코드가 일치하는 전자 메일과 함께 행이 있으면 반환해야하는 쿼리를 실행하고 있습니다. 1 행이 반환되면 오류 메시지가 반환되고 코드에 다른 위치가 있고 유효한 부울을 false로 설정합니다.Mysql_num_rows와 관련된 문제 php/mysql

그러나, 나는이 오류 받고 있어요 : 내가 잘못 mysql_num_rows도()를 사용하고 생각

"경고 mysql_num_rows도를() 매개 변수 (1) 자원에 지정된 객체가 될 것으로 기대",하지만 난에 새로운 해요 PHP/MySQL은 :(나는 그것을 알아낼 수 없습니다.

여기 내 코드의 관련 섹션을합니다.

$conn = @mysqli_connect("server","user","pass","database"); 

if (!$conn) { 
    // Displays an error message 
    echo "<p>Database connection failure</p>"; 

////

 $sql_table="Customer"; 
     $query="SELECT * FROM $sql_table WHERE EMAIL = '$email'"; 
     $result = mysqli_query($conn, $query); 

      if (mysql_num_rows($result) >= 1) { //<-- Offending line 

           $takenErr = "Email already taken "; 
           $valid = false; } 

     if (!$result) { 
      echo "<p> something is wrong with ", $query, "<p>"; 
      } 

고마워/얘들 아! :).

+2

두 개의 서로 다른 확장 mysqli_ 존재 읽고 mysql_로하시기 바랍니다. 그것을 혼합하려고합니다. – sectus

답변

1

당신은

$row_cnt = $result->num_rows;

또는

mysqli_num_rows($result)을 사용할 수 있습니다;

mysqli 드라이버를 사용하고 있으므로 항상 사용하십시오.

+0

mysqli를 추가하여 수정했습니다 :). – rodife

+0

위대함, 도움이 되니 기쁩니다 : D – tomexsans

0

mysqli_ * 및 mysql_ * 함수를 혼합합니다.

이 시도 :

if (mysqli_num_rows($result) > 0) { 

    $takenErr = "Email already taken "; 
    $valid = false; 

} 

자세한 내용은 *가이 mysqli_*