2013-09-23 5 views
2
나는 워드 프레스 내 소비자를위한 사용자 정의 로그인을 만들지 만,이 오류 싶어

: 내가 잘못워드 프레스 사용자 정의 로그인 데이터베이스 오류

WordPress database error: [] 
SELECT * FROM wp_members WHERE email='[email protected]' and password='5f4dcc3b5aa765d61d8327deb882cf99' 
Wrong Username or Password 


<?php 
    $email1 = $_POST['email']; 
    $password = $_POST['password']; 
    $encrypted_mypassword=md5($password); 
    $email = $_POST['email']; 
    $password = $_POST['password']; 


    if(isset($_POST['submit'])) { 
     global $wpdb; 
     $table_name = $wpdb->prefix . "members"; 
     $wpdb->show_errors(); 
     $sql= $wpdb->get_results(" SELECT * FROM $table_name WHERE email='$email1' and password='$encrypted_mypassword' "); 
     $wpdb->print_error(); 

     $result=mysql_query($sql); 
     // Mysql_num_row is counting table row 
     $count=mysql_num_rows($result); 

     // If result matched $myusername and $mypassword, table row must be 1 row 
     if($count==1){ 
      // Register $myusername, $mypassword and redirect to file "login_success.php" 
      session_register("email"); 
      session_register("encrypted_mypassword"); 
      header("location:login_success.php"); 
     } 
     else { 
      echo "Wrong Username or Password"; 
     } 
    } 

?> 

를하고있는 중이 야 무엇을? 미리 감사드립니다.

+1

는'var_dump'의 $의 SQL을 사용해보십시오 제거합니다. 그것은 당신이 생각하는 것이 아닙니다 - 당신은 그것을 새로운 쿼리로 mysql_query에 넘겨 줘야합니다. 그러나 그것은 SQL 쿼리가 아닙니다. – andrewsi

답변

0

워드 프레스 $wpdb->get_results 사용자가 점검 할 수 count()을 사용할 수 있습니다 당신은 mysql_query()

이 함수에서 결과를 사용할 수 없습니다 쿼리에 대한 데이터를 반환합니다 $sql에는 데이터가 들어 있습니다.

$count=count($sql); 

(3210)는 이러한

/* 
$result=mysql_query($sql); 
     // Mysql_num_row is counting table row 
     $count=mysql_num_rows($result); 


*/ 

Class Reference wpdb

+0

@downvoters가 관심을 보냅니다. –

0

첫번째로를 사용하여 A salt 당신이 진짜이 일을 할 때 - http://www.md5rainbow.com/5f4dcc3b5aa765d61d8327deb882cf99

두 번째는 당신이 DB에서 어떤 경기를 해시 된 암호 (예 : 사용자가 소금으로 생성되지 않았 음을 확인했다?)

세 번째로 문제가 발생하지 않지만 mysqli을 사용하십시오.

편집

넷째 @andrewsi 실제 문제, 쿼리를 포함하지 않는 코드에서 $sql VAR 있습니다.

+0

yes password가 DB [email protected]과 일치합니다 \t 5f4dcc3b5aa765d61d8327deb882cf99 – user2808421

+0

@andrewsi에 문제가 있음을 거의 확신합니다. – Matthew

0
$sql= $wpdb->get_results ->remove this line 

이는 $ SQL 지금 쿼리에 적합 하지 그래서 테이블에서 정보를 얻을.

$result=mysql_query($sql) 

여기에서 $의 SQL은해야

$sql=" SELECT * FROM $table_name WHERE email='$email1' and password='$encrypted_mypassword' " 
관련 문제