MySQL - 选择一些IF(某事是真的)

时间:2013-05-10 01:31:02

标签: mysql select conditional

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

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

<?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是我的朋友,但是当我试图找到它时,引用只是给了我不相关的信息,或者至少与这个案例无关。

所以,无论如何,谢谢你的时间!

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

使用WHERE子句来过滤这些条件,

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

答案 2 :(得分:0)

$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'];