2015-03-03 82 views
1

我是新來的,學習代碼。 我想創建選擇特定行的php代碼。 表示第5行或第6行任意一行。 我創建這樣php-mysql如何在mysql中選擇特定行數?

<?php 
$servername = "localhost"; 
$username = "test1"; 
$password = "pass"; 
$dbname = "test1"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT FIELD1, FIELD2 FROM mytable "; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) 


{ 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "id: " . $row["FIELD1"]. " - Name: " . $row["FIELD2"]. " <br>"; 
    } 



} else 
{ 
    echo "0 results"; 
} 
$conn->close(); 
?> 

此代碼的代碼工作正常,但它給了table.I的所有數據要只選擇特定的行數data.how做到這一點?

+1

sql需要應用一個條件,如: select * from table mywhere id = 1 – RamRaider 2015-03-03 11:35:45

+2

使用'LIMIT 1 OFFSET 0'會給你第一個結果,'LIMIT 1 OFFSET 1'會給你第二個一個,那麼一個。儘管製作一個專欄'id'會更好。例如,你可以這樣做'... WHERE id = 10'。 – Peter 2015-03-03 11:36:47

+0

SELECT * FROM表ORDER BY ID LIMIT n,1應該有效。該查詢將返回從第n條記錄開始的一行。 – Whirlwind 2015-03-03 11:37:20

回答

1

你可以用LIMIT語句來做,比如說LIMIT3,1來選擇第4行。第一個數字是起始行,第二個數字是要選擇的行數。

$sql = "SELECT FIELD1, FIELD2 FROM mytable LIMIT $row_index, 1"; 

會給你行$ ROW_INDEX + 1

-2

您可以使用查詢WHERE條件爲SELECT FIELD1, FIELD2 FROM mytable WHERE id = 1它做。

+1

id並不總是順序的。如果你刪除了id爲3的行,你將會得到1,2,4這樣的訂單 – 2015-03-03 11:40:08