2011-03-26 71 views
0

(在这里初学者的问题...要温柔)如何从一个或两个字段中获取其他记录?

我的PHP脚本是对窗体的响应。假设我已经连接到数据库并提取后的变量(只有两个 - EMAILADDRESS和用户名),像这样

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

..和知道“用户”表中,也有“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 
} 

一定要告诉我这是怎么错的,真正的答案是容易的,但没有拿出答案。

+1

只是注意:请阅读笔记上http://fr2.php.net /提取关于不使用“提取”不安全的数据;-) – 2011-03-26 16:36:22

+0

“*请*温柔”你的意思是? – 2011-03-26 16:38:10

+2

是的。在PHP/mysql上初学者课程非常困难。非常罕见的技术 – 2011-03-26 17:40:50

回答

0

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

SELECT * FROM Users WHERE emailAddress = '[email protected]' 
+0

,我该如何获得该地址'该地址' – cannyboy 2011-03-26 16:39:30

1

要获取单个元素,请执行“从标准表中选择列名”。

在你的榜样

这将是

select address from users where emailaddress = '[email protected]' and name = 'John Doe' 

的列名部分可以用逗号分隔的多个项目,因此,举例来说,如果你想要的名称和地址,你会做

select name, address from users where emailaddress = '[email protected]' and name = 'John Doe' 
+0

谢谢。告诉是否没有选择任何东西? – cannyboy 2011-03-26 16:49:54

+0

忘记这是一个PHP问题,并专注于它的SQL方面。http://en.wikibooks.org/wiki/PHP_Programmin g/SQL_Injection似乎像显示快速简单的方式(第一项)和使用if/else的更安全的方法。 .NET的家伙我自己 – Robert 2011-03-26 17:00:59

1

你必须把这个sql请求变成一个变量,然后执行它,你可以验证如果数组是空的或不是..如果这意味着没有组合与名称和该电子邮件对应到您的数据库..和它完成了!`$ req =“选择姓名,地址来自用户mailaddress = $ email and name = $ name“; $ result = mysql_query($ req); 如果!isset($结果){/// 一些东西在那里当一切okkay

} 其他{/// 一些东西,如果有相应的

没有记录}` 在VRAC ..在这一想法的样本为例..注意SQL查询得到的结果到一个数组所以我只好操纵一个数组或哈希

+0

似乎你需要的初学者课程上的PHP/MySQL更迫切比人问这个问题... – 2011-03-26 17:47:43

相关问题