gpt4 book ai didi

php 如何从数据库中检索帖子?

转载 作者:行者123 更新时间:2023-11-29 11:10:29 25 4
gpt4 key购买 nike

我知道这个问题已经被问过很多次了,但我无法让它适用于我的代码,请耐心等待,我对 php oop pdo

我的目标

使用phpooppdo

检索存储在数据库中的帖子标题

问题

它返回此错误:

Undefined property: PDOStatement::$fetch

我查看了php docs about pdostatement

我从 this tutorial 学到了 crud ,但我无法用我的代码翻译它,

这是我的代码:

Crud.php

<?php

include 'connection.php';

class Crud{

private $db;


function __construct($pdo)
{
$this->db = $pdo;
}

public function create_post($post_title, $post_content)
{
try{
$query = "INSERT INTO posts(post_title, post_content) VALUES (:ptitle, :pbody)";
$stmt = $this->db->prepare($query);
$stmt->bindParam(':ptitle', $post_title);
$stmt->bindParam(':pbody', $post_content);
$stmt->execute();

return $stmt;
}

catch(PDOException $e)
{
$e->getMessage();
}

}

public function setQuery($sql)
{
try{
$query = $this->db->prepare($sql);
$query->execute();

return $query;

}

catch (PDOException $e)
{
$e->getMessage();
}
}


}

Index.php(我想发帖的地方)

<?php
error_reporting(E_ALL);
require_once 'inc/Crud.php';

?>

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Welcome to house</title>
</head>
<body>
<h1>This is the home page</h1>



<?php

$crud = new Crud($pdo);

$sql = "SELECT * FROM posts";

if($result=$crud->setQuery($sql) )
{
if($count = $result->fetch)
{
echo '<p>', $count, '</p>';

while($row = $result->fetch_assoc())
{
echo $row['post_title'], '<br>';
}
}
}

?>

</body>
</html>

我很困惑。有什么建议和最佳实践(针对 php5 及更高版本)?

最佳答案

fetch 是一个函数,而不是一个属性

改用这个:

    if($count = $result->fetch())
^^

关于php 如何从数据库中检索帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40661062/

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