gpt4 book ai didi

PHP + MYSQL 页面 - OOP 和 PDO

转载 作者:行者123 更新时间:2023-11-30 23:24:54 24 4
gpt4 key购买 nike

我对 OOP 和 PDO 很陌生,无法弄清楚如何按页显示 MYSQL 结果(例如每页 10 个)。执行此操作的最佳方法是什么?

    public function getResults() { 
try {

$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

$sql = "SELECT * FROM table ORDER BY id DESC LIMIT 10";
$result = $con->query($sql);

while($row = $result->fetch(PDO::FETCH_ASSOC)) {
$msg_id = $row['id'];
echo '<div id="results">' .$msg_id. '</div>';
}

$con = null;

}catch(PDOException $e) {

echo $e->getMessage();

}

}

}

最佳答案

这似乎是一个好的开始。要获得下一组结果,您需要使用以下语句:

SELECT * FROM table ORDER BY id DESC LIMIT 10, 10

这会返回结果 11 到 20。

更一般地说,您希望有一个 GET 参数,使您能够显示任何集合:

http://mywebsite.com/mypage.php?set=1

然后您将根据设置的数字动态构建您的查询:

$sql = sprintf("SELECT * FROM table ORDER BY id DESC LIMIT %s, 10", $con->quote($_GET['set'] - 1)*10));

关于引用的部分非常重要,因为它可以保护您免受 SQL 注入(inject)攻击(您可以通过谷歌搜索获取更多信息)。

关于PHP + MYSQL 页面 - OOP 和 PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13851584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com