WordPress自定义登录数据库错误

时间:2013-09-23 18:57:11

标签: php mysql database wordpress login

我想在WordPress中为我的消费者进行自定义登录,但收到此错误:

WordPress database error: []
SELECT * FROM wp_members WHERE email='example@example.org' 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";
        }
    }

?>

我做错了什么?提前谢谢。

3 个答案:

答案 0 :(得分:0)

首次使用salt时,请执行此操作 - http://www.md5rainbow.com/5f4dcc3b5aa765d61d8327deb882cf99

其次,您是否检查过您正在哈希的密码是否与数据库中的密码匹配(例如,用户不是用盐创建的?)

第三,不会导致您的问题,而是使用mysqli

编辑

第四个@andrewsi存在实际问题,代码中的$sql var不包含您的查询。

答案 1 :(得分: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' "

答案 2 :(得分:0)

Wordpress $wpdb->get_results会针对您的查询返回数据,您无法在mysql_query()

中使用此功能的结果

您可以使用count()检查$sql是否包含数据

$count=count($sql);

删除这些

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


*/

Class Reference wpdb