查询整个数据库但只打印第一行

时间:2014-04-12 20:48:37

标签: php html mysql

我想从我创建的数据库查询整个表,但只打印第一行的标题和摘要,我还没有找到一种方法来执行此操作,这是我到目前为止的代码:

<?php
    $con = mysqli_connect( 'localhost', 'root'); 
    // Check connection
    if (mysqli_connect_errno()) {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    $result = mysqli_query($con, "SELECT * FROM test.articles ORDER BY Date") or die('Unable to run query:' . mysqli_error($con));     
?>

<?php
    while ($row = mysqli_fetch_array($result)) {
        echo  "<h1>" . $row['Title'] . "</h1>";
        echo  "<p>" . $row['Summary'] . "</p>";
    }
?>

我已经尝试过使用mysqli_fetch_row以及其他方法,但还没有找到解决方案,谢谢。

2 个答案:

答案 0 :(得分:2)

while更改为if

这将仅打印第一行......

但这不是正确的方法。

正确的方法是限制数据

SELECT * FROM test.articles ORDER BY Date LIMIT 1
                                          ^^^^^^^

答案 1 :(得分:1)

只需拨打mysqli_fetch_array()一次(删除你的循环):

$row = mysqli_fetch_array($result);
echo  "<h1>" . $row['Title'] . "</h1>";
echo  "<p>" . $row['Summary'] . "</p>";

如果您真的只想要一行,请使用LIMIT子句将结果限制为一行。它会更高效:

SELECT * FROM test.articles ORDER BY Date LIMIT 1
相关问题