我想使用类具有公共职能和我的查询来跟以下错误回:
“注意:未定义的变量:第21行的C:\ xampp \ htdocs \ CMS \ index.php中的文章”
我已经完成了print_r来显示类的结果,一切看起来都正确。
“ Array([0] => Array([article_id] => 1 [article_title] =>标题[article_content] =>内容[article_timestamp] => 2019-02-02 13:33:03))” < / p>
在我的类函数中,我尝试将查询放入变量中,然后将该变量返回类之外,但出现错误消息。
如果我绕过类函数,然后将查询结果放入$Articles
,那么它将起作用。
第1-6行/Index.php
<?php
include_once('includes/article.php');
$Article = new Article;
$Articles = $Article->fetch_all();
print_r($Articles)
?>
第17-21行/Index.php
<?php foreach ($articles as $article) { ?>
<ol>
<li><a href="article.php?id=<?php echo $article['article_id']; ?>"><?php echo $article['article_title']; ?></a> - <small><?php echo date('l F jS, Y', strtotime($article['article_timestamp'])); ?></small></li>
</ol>
<?php } ?>
第5-8行/includes.php
class Article {
public function fetch_all() {
return DB_query("SELECT * FROM articles");
}
}
第51-70行/includes.php
function DB_query($query, $params = []) {
$conn = DB_connect();
if ($params)
{
$stmt = $conn->prepare($query);
$types = str_repeat('s', count($params));
$stmt->bind_param($types, ...$params);
$stmt->execute();
$result = $stmt->get_result();
} else {
$result = mysqli_query($conn, $query);
}
if ($result)
{
$result = mysqli_fetch_all($result,MYSQLI_ASSOC);
return $result;
} else {
return mysqli_affected_rows($conn);
}
}
结果应为echo $article['article_id']
将返回ID,echo $article['article_title']
将返回标题,最后echo date('l F jS, Y', strtotime($article['article_timestamp']))
将返回日期。