如何从输入的数据(sql和php)中获取行号

如何从输入的数据(sql和php)中获取行号,php,mysql,sql,row,rownum,Php,Mysql,Sql,Row,Rownum,我遇到这个问题已经有一段时间了,我似乎在谷歌上找不到正确的答案。我不知道我是否只是运气不好 无论如何,如何从PHP文本字段输入的特定记录中获取行号,例如: ID NAME 11111 john 11112 roger 11113 ellis 11114 jack 11115 wendy 因此,如果我输入11113,输出将像“此ID位于数字3” 这是我的密码: $id=$_POST['id']; $query="SEL

我遇到这个问题已经有一段时间了,我似乎在谷歌上找不到正确的答案。我不知道我是否只是运气不好

无论如何,如何从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";

有人能指出我哪里出错了吗?

下面是一个查询示例,说明如何在不为count添加其他列的情况下执行此操作:

SELECT e.*,b.count FROM employee as e, (SELECT COUNT(*) as count FROM employee WHERE id <= 3) as b WHERE e.id = 3
  • 首先,您应该从employee表中选择*

  • 然后将结果解析为数组

  • 扫描上面的数组(步骤2)并找到您的值(11113)

  • 如果找到(3),则可以返回数组索引

  • 第一件事: 对于数据库,您使用的是旧的PHP方法,请使用

    如果您不想获取最后一个插入ID,那么可以使用PDO捕获它


    我不理解您的SQL,因为您想通过使用ID进行过滤来获取ID?当您的ID是整数/数字时,您的语句就没有意义了

    您没有用于编号的字段,请添加一个带有编号的字段,其中“ellis”将有编号3,然后您将能够获得该结果。
    COUNT
    对符合
    where
    条件的行进行计数。这不是你所期望的。此外,表中没有行号。不使用orderby的行顺序可能会有所不同。警告:如果您只是在学习PHP,请不要使用该接口。它是如此可怕和危险,以至于在PHP7中被删除。替换类和指南类说明了最佳实践。您的用户参数没有,也有可以利用的参数。此处没有内在编号,因此它在列表中的显示顺序完全是任意的,除非您有
    order BY
    子句。
    SELECT COUNT(*) as count FROM employee WHERE id <= 3