如何从一个或两个领域获得剩余的记录?

时间:2011-03-26 16:32:39

标签: php mysql

(初学者在这里提问......要温柔)

我的php脚本是对表单的回复。假设我已经连接到数据库并提取了post变量(只有两个 - emailAddress和username),就像这样

mysql_connect('localhost', 'dbusername', 'dbpassword');
mysql_select_db('database');
extract($_REQUEST);

..并且知道在'users'表中,有'emailAddress','username'和'address'字段。 (电子邮件地址都是唯一的..)

在收到emailAddress和用户名后,如何通过表格搜索特定的“地址”(如果没有匹配的名称和地址,则输出其他内容)?


似乎很难得到答案。这一定是一个非常非常非常非常困难的问题。


非常特别感谢那些告诉我问题很简单,但却无法得出答案的用户。我向你的不知疲倦,你的勇气以及你愿意帮助的人致敬。

我的问题的可能答案是:

$result = mysql_query("SELECT * FROM users WHERE emailAddress='".$emailAddress."' AND username='".$username."'");
$row = mysql_fetch_array($result); 
if ($row['username'] == "") {
    // no results
} else if ($row['emailAddress'] == $emailAddress AND $row['username'] == $username) {
   // found result 
   echo "The address is ".$row['address'];
} else {
   // i guess something else happened
}

一定要告诉我这是怎么回事,真正的答案很简单,但却没有得到答案。

3 个答案:

答案 0 :(得分:1)

要获取单个元素,您可以“从表格中选择column_name”。

在你的例子中它将是

select address from users where emailaddress = 'email@domain.com' and name = 'John Doe'

column_name部分可以是逗号分隔的多个项目,因此,例如,如果您想要名称和地址,则可以执行

select name, address from users where emailaddress = 'email@domain.com' and name = 'John Doe'

答案 1 :(得分:1)

你必须把这个sql请求变成一个变量,然后执行它,之后你可以验证数组是否为空......如果是,那就意味着这个名称和那个电子邮件都没有组合到你的数据库..它已经完成了!`$ req =“选择名称,来自用户的地址,其中emailaddress = $ email和name = $ name”; $ result = mysql_query($ req); if!isset($ result){     ///当一切都好的时候有些东西

} 其他{     ///如果没有相应的记录,有些东西

}` 在vrac ..一些示例例子中的想法..请注意,sql查询将结果提供给数组,因此你必须操纵数组或散列

答案 2 :(得分:0)

您可以使用SELECT语句。请注意,此代码对SQL注入不安全。

 SELECT * FROM Users WHERE emailAddress = 'someemail@gmail.com'