首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MYSQL数据库返回数据的类和公共函数问题

从MYSQL数据库返回数据的类和公共函数问题
EN

Stack Overflow用户
提问于 2019-02-02 22:24:47
回答 1查看 34关注 0票数 0

我试图在公共函数中使用类,我的查询返回时出现了以下错误:

“注意:未定义变量:第21行C:\xampp\htdocs\CMS\index.php中的文章”

我已经做了一个print_r来显示来自课堂的结果,一切看起来都是正确的。

阵列( =>数组( article_id => 1 article_title => Title article_content => Content article_timestamp => 2019-02 13:33:03 ))

在我的类函数中,我尝试将查询放入变量中,然后将该变量从类中返回,但会出现错误消息。

如果我绕过类函数,将查询结果放到$Articles中,那么它就能工作了。

第1-6行/Index.php

代码语言:javascript
复制
 <?php
 include_once('includes/article.php');
 $Article = new Article;
 $Articles = $Article->fetch_all();
 print_r($Articles)
 ?>

第17-21行/Index.php

代码语言:javascript
复制
 <?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

代码语言:javascript
复制
 class Article {
     public function fetch_all() {
        return DB_query("SELECT * FROM articles");
     }
 }

行51-70 /includes.php

代码语言:javascript
复制
 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']))将返回日期。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-02 22:31:27

来自手册

PHP中的变量由一个美元符号表示,后面跟着变量的名称。变量名是区分大小写的.

您需要在两处使用$Articles$articles

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54498112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档