我有一个包含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是我的朋友,但是当我试图找到它时,引用只是给了我不相关的信息,或者至少与这个案例无关。
所以,无论如何,谢谢你的时间!
答案 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'];