繁体   English   中英

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

[英]How to get rest of record from one or two fields?

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

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

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

..并且知道在'用户'表中,有'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
}

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

要获取单个元素,您可以“从表中的条件中选择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'

您必须将此sql请求转换为变量然后执行它,之后您可以验证数组是否为空...如果是,则表示该名称与该数据库对应的电子邮件没有任何组合。并且它完成了!`$ req =“选择名称,来自用户的地址,其中emailaddress = $ email和name = $ name”; $ result = mysql_query($ req); if!isset($ result){///当一切都好的时候有些东西

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM