2015-03-03 108 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