2011-03-29 50 views
0

有没有什么办法让从结果在PHP MySQL查询设置行号或行号? mysql中的_rowid有什么用?当前行号或行号

下面的查询获取申请人2435

SELECT * FROM applications WHERE _rowid =2435 

的细节,但这里_rowid不表中的字段。像这样,我们需要从php mysql中的结果集中获取记录ID。

+0

什么样的行ID? – fabrik 2011-03-29 11:50:58

+0

猜他的意思,表行的'SN'或表行的'id' – 2011-03-29 11:51:37

+1

MySQL中没有内部rowid。尝试使用PK(+ auto_increment) – Devart 2011-03-29 11:52:38

回答

1

检查这项功能mysql_insert_id

+0

此功能,当我们插入表中唯一有用的,但不是在选择 – Ben 2011-03-29 12:21:13

+0

是这种功能的情况下返回插入数据的ID为表 – 2013-12-17 07:44:10

-1

做一个简单的while循环和打印行数

while($row=mysql_fetch_array($res)) { 
    echo $row['id'] 
    //or 
    echo $row[0] 
} 

哪里是在MySQL中_rowid之间?这可能是一个内部指针为MySQL

+0

我想记录指针ID,而不是表字段值 – Ben 2011-03-29 12:19:51

+0

你的意思的存储位置结果?在这种情况下,正常的php mysql函数,mysql_field_seek是一个可以查看的函数。然而,这只是场地明智的。然后在MySQLi中有一个http://us.php.net/manual/en/mysqli-stmt.data-seek.php,它可以完成一行。但是,如果你正在寻找十六进制内存地址,我不认为PHP会给你任何这样的,根据我的知识。 – 2011-03-29 12:29:53

3

this question提取:

SELECT @row_number := NULL; 
SELECT 
    @row_number := IFNULL(@row_number, 0) + 1 AS row_number, 
    Column1, 
    Column2, 
    ColumnN 
FROM the_table 
WHERE 1 = 1 
ORDER BY Column1 

如果您正在运行PHP从该查询,则需要两次执行mysql_query()功能。第一个查询将是SELECT @row_number := NULL,第二个查询将是SELECT ...查询。两个查询必须通过同一连接一起执行。