【问题标题】:MySQL - SELECT something IF (something is true)MySQL - 选择某事如果(某事是真的)
【发布时间】:2013-05-10 01:31:02
【问题描述】:

我有一个包含 3 列的数据库,“ID”、“用户名”、“密码”。我对 SQL 很陌生(仍在学习 :P ),而且,我无法让我的想法发挥作用。这适用于 Android 应用程序。我已经登录了,你输入了登录数据,我已经安排好了一切工作,但是:

我需要一个只有在用户名和密码匹配时才能检索帐户 ID 的 SQL 查询。这是我到目前为止所做的:

<?php
    $username = $_POST['username'];
    $password = $_POST['password'];
    $hostname = "-----";
    $dbuser   = '-----';
    $dbpass   = '-----';
    $dbname   = '-----';

    //connection to the database
    $dbhandle = mysql_connect($hostname, $dbuser, $dbpass) or die("Unable to connect to MySQL " . \mysql_error() . "<br>");


    //select db

    mysql_select_db($dbname, $dbhandle) or die("Unable to connect to DB: " . \mysql_error() . "<br>");
    $result = mysql_query("SELECT usr_id IF (username = '$username' AND password = '$password') FROM people") or die("Error: " . mysql_error());
    echo $result;
?>

我知道 Google 是我的朋友,但当我试图找出它时,这些参考资料只是给了我不相关的信息,或者至少与本案无关。

所以,无论如何,感谢您的宝贵时间!

【问题讨论】:

    标签: mysql select conditional


    【解决方案1】:

    尝试使用 WHERE 而不是 IF,所以:

    "SELECT usr_id FROM people WHERE username = '".$username."' AND password = '".$password."'"
    

    【讨论】:

      【解决方案2】:

      使用WHERE 子句过滤此类条件,

      SELECT usr_id 
      FROM people
      WHERE username = '$username' AND password = '$password'
      

      【讨论】:

        【解决方案3】:
        $result = mysql_query("SELECT usr_id FROM people WHERE username = '$username' AND password = '$password');
         $result_array=mysql_fetch_assoc($result);
        echo $result_array['usr_id'];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-16
          • 2011-01-12
          • 1970-01-01
          • 2016-08-23
          • 2011-08-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多