php
  • login
  • 2014-04-08 37 views 0 likes 
    0

    我有一个包含所有密码的用户表,以及一个有电子邮件的老师稳定器。检查登录,电子邮件与密码不同。怎么样?

    要登录他们需要输入自己的电子邮件和密码,目前我有以下,但不工作:/

    $sqlQuery="SELECT s.password, t.email, s.ID, t.ID 
        FROM user s, teacher t 
        WHERE t.email='$myEmail' AND s.password='$newPassword' AND s.ID = t.ID"; 
    $result=mysql_query($sqlQuery); 
    
    //then it checks the row number etc, this part works. 
    enter code here 
    

    帮助将不胜感激!

    +0

    你试过读了上JOIN这是几乎certianly一个更好的方法 – durbnpoisn

    +0

    @durbnpoisn查询类似于加入只是语法是不同的 – dlyaza

    +0

    我意识到,我只是觉得JOIN更好,而且,我注意到,这是写的方式,ID是没有被传入,所以这将不会检索单个记录,它将检索整个列表。 – durbnpoisn

    回答

    0

    试试这个 $的SQLQuery = “SELECT s.password,t.email,s.ID,t.ID 从用户的,教师牛逼 WHERE t.email ='”。$ myEmail。“'和S .password ='“。$ newPassword。”'AND s.ID = t.ID“; $ result = mysql_query($ sqlQuery);

    +0

    不行:/ – user3506938

    0

    试试这个

    $query = sprintf("SELECT * 
        FROM user 
        INNER JOIN teacher 
        WHERE user.email = '%s' AND user.password = '%s'", 
         mysql_real_escape_string($email), 
         mysql_real_escape_string($password) 
    ); 
    $result = mysql_query($query); 
    

    这是测试和工作(假设你有两个表你想从获取信息的用户在同一个ID

    +0

    不行,这是行不通的。我有这样的: $ result = mysql_query($ query); \t \t \t \t // Mysql_num_row计数表行 \t \t \t \t $的rowNum = mysql_num_rows($结果); \t \t \t \t echo“$ rowNum”; 和它现在不打印行号..:/ – user3506938

    +0

    对不起,我没有测试过的代码,我发布之前。 看到我更新的答案,测试和工作。 – Sph1nX

    +0

    我的用户类没有电子邮件。所以我chaged user.email to tacher.email 但它仍然不适合我:/ 也许我的数据库有问题吗? 老师表包含:ID和电子邮件 用户表包含:ID,姓名,地址,joindateand和密码 techer和用户的ID是相同的。 mypassword也使用md5加密,也许这是造成问题? :/ – user3506938

    相关问题