【发布时间】:2016-08-05 07:33:15
【问题描述】:
我遇到这个问题有一段时间了,我似乎无法在谷歌上找到正确的答案。不知道是不是我运气不好。
无论如何,如何从我从 PHP 文本字段输入的特定记录中获取行号,例如:
ID NAME
11111 john
11112 roger
11113 ellis
11114 jack
11115 wendy
所以如果我输入 11113,输出会像“这个 ID 在数字 3”。
这是我的代码:
$id=$_POST['id'];
$query="SELECT COUNT(*) from employee where id like '%$id%'";
$num=mysql_query($query);
echo "this ID is at number $num";
谁能指出我哪里出错了?
【问题讨论】:
-
您没有用于编号的字段,添加一个带有编号的字段,其中“ellis”的编号为 3,然后您将能够得到该结果。
-
COUNT计算在WHERE条件中匹配的行。这不是你所期望的。此外,您的表中没有行号。不使用ORDER BY的行顺序可以不同 -
警告:如果您只是学习 PHP,请不要使用
mysql_query接口。它是如此可怕和危险,以至于它在 PHP 7 中被删除。像 PDO is not hard to learn 这样的替代品和像 PHP The Right Way 这样的指南解释了最佳实践。你的用户参数不是properly escaped,有SQL injection bugs可以被利用。 -
这里没有固有编号,因此它出现在列表中的顺序完全是任意的,除非您有
ORDER BY子句。