Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 类和公共函数从MYSQL数据库返回数据时出现问题_Php - Fatal编程技术网

Php 类和公共函数从MYSQL数据库返回数据时出现问题

Php 类和公共函数从MYSQL数据库返回数据时出现问题,php,Php,我正在尝试将类与公共函数一起使用,查询返回时出现以下错误: “注意:未定义变量:第21行C:\xampp\htdocs\CMS\index.php中的文章” 我做了打印,显示了课堂上的结果,一切看起来都是正确的 “数组([0]=>Array([article\u id]=>1[article\u title]=>title[article\u content]=>content[article\u timestamp]=>2019-02-02 13:33:03))” 在我的class函数中,我尝

我正在尝试将类与公共函数一起使用,查询返回时出现以下错误:

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

我做了打印,显示了课堂上的结果,一切看起来都是正确的

“数组([0]=>Array([article\u id]=>1[article\u title]=>title[article\u content]=>content[article\u timestamp]=>2019-02-02 13:33:03))”

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

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

第1-6行/Index.php

 <?php
 include_once('includes/article.php');
 $Article = new Article;
 $Articles = $Article->fetch_all();
 print_r($Articles)
 ?>
 <?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 } ?>
第51-70行/includes.php

 class Article {
     public function fetch_all() {
        return DB_query("SELECT * FROM articles");
     }
 }
 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\u id']
将返回id,
echo$article['article\u title']
将返回title,最后
echo date('l F jS,Y',strotime('article['article\u timestamp'])
将返回日期。

来自:

PHP中的变量由美元符号表示,后跟变量名称变量名区分大小写。

您需要在这两个位置使用
$Articles
$Articles

来自:

PHP中的变量由美元符号表示,后跟变量名称变量名区分大小写。


您需要在这两个位置使用
$Articles
$Articles

我看到使用了$Article和$Article。也许区分大小写会引起问题?谢谢大家的帮助。我看到使用了$Article和$Article。也许区分大小写会引起问题?谢谢大家的帮助。