(初学者在这里提问......要温柔)
我的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
}
一定要告诉我这是怎么回事,真正的答案很简单,但却没有得到答案。
答案 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'