2012-12-11 117 views
-2

通过php,我必须输入用户名,然后在名为mysql表的useername的列中搜索相同的内容。我们可以在mysql表的列中运行一个循环吗?

如果用户名匹配,它会查找匹配同一行的密码,那么是否可以运行一个试图匹配数据的循环?

如果是,应该是什么样子?如果不是,请告诉我一些替代方案。

+3

我很困惑,为什么你需要运行一个循环 –

+0

我需要运行一个循环来检查用户名是否存在,如果不存在我的数据库它会去别的,并会显示错误的用户名,这样才有可能这样做? – user1892302

+0

当您尝试创建登录时,还请阅读有关转义和SQL注入。另外,它肯定会很脆弱。 – dognose

回答

1

您需要了解SQL查询,我真的不能回答任何比这更好的。 SQL用于从数据库中选择数据,您可以使用如下命令:

Select employeeID from table where username = 'user' and password = 'password' 

如果您获得记录返回,则会出现匹配项。实质上,如果您执行类似“给我与此查询匹配的数据”的查询,数据库服务器将遍历所有dta并尝试查找匹配的任何行。它已经循环了所有的数据,不需要手动完成。

再次:请了解一些关于SQL的内容。通过这个问题,你问的很明显,你错过了一个非常基本的理解。这会杀死你的时间(尝试无用的东西),并可能伤害他人(如果你让你在公共场合运行代码)。

+0

如果用户名不存在如何显示'用户名不存在于数据库'语句 – user1892302

+0

@ user1892302 - 如果用户名不存在,那么你不会得到任何行。你可以使用'mysql_num_rows()'函数检查行数,如果你正在使用'MySQL'数据库 –

+0

@Pankit Kapadia hey将死亡finctn会做这项工作,如果用户名不匹配? – user1892302

0

你可以写这样一个SQL请求:

SELECT * 
FROM Users 
WHERE passwd = sr8stk23kel796ki345k54k2 
+0

当然'sr8stk23kel796ki345k54k2'不是我的md5或sha *加密的密码;) – phaazon

0
$query = "SELECT * FROM username WHERE `name` = '$variable_containing_name' AND `password` = '$password'" 

如果返回行则匹配的发现 其中namepassword是列名,你需要包含你要搜索的用户名和密码的两个变量。 你不需要循环在PHP SQL将做这项工作

+1

如果用户名不存在如何显示'用户名不存在数据库'语句 – user1892302

相关问题