2011-03-29 114 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 ...查詢。兩個查詢必須通過同一連接一起執行。