我总是通过将整个SQL表拉入数组并在其中搜索我正在验证的值来完成验证。 (Joe Smith已经在我的用户列表中了吗?)
更具体的SQL查询是否更有效地查找该值,并返回true或false?
如果是这样,我想看一个代码示例。
我一直在尝试这样做,但继续遇到'where子句'中的“未知列'变量名'”
(编辑:) 例如,这里是一些代码。我正在尝试在SQL表中查询特定变量(用户)。然后我只需要知道它是否在表中找到了用户。
//$value = "Joe Smith"
$result = mysql_query("SELECT * FROM usernames WHERE fullname= $value",$db);
$rowcheck = mysql_num_rows($result);
if ($rowcheck > '0') {
// The value was found in the table.
}
答案 0 :(得分:1)
拉整张桌子是一个坏主意。如果您的数据库中恰好有几百万行,请在代码中验证这一点。始终缩小使用WHERE子句传输的数据。如果你有正确的索引,语句将很快,你的前端代码将更简单。
SELECT id FROM users WHERE name='Joe Smith'
检查是否返回任何行。关于你的错误,我猜你使用了错误的引号(单引号)。
编辑:您需要围绕字符串文字的引号
mysql_query("SELECT * FROM usernames WHERE fullname='$value'",$db);