Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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 Pdo:显示数据库外的记录_Php_Pdo - Fatal编程技术网

PHP Pdo:显示数据库外的记录

PHP Pdo:显示数据库外的记录,php,pdo,Php,Pdo,我想在我的网站上显示数据库中的所有记录,这是一个PDO构建的网站。我想让它显示所有的记录,这样你就可以看到数据库里有什么了 连接在另一个名为config.php的文档中设置 <?php date_default_timezone_set('Europe/Amsterdam'); error_reporting(E_ALL & ~ E_DEPRECATED); ini_set('display_errors', 'ON'); $CONFIG = array(); $CONFI

我想在我的网站上显示数据库中的所有记录,这是一个PDO构建的网站。我想让它显示所有的记录,这样你就可以看到数据库里有什么了

连接在另一个名为config.php的文档中设置

<?php

date_default_timezone_set('Europe/Amsterdam');

error_reporting(E_ALL & ~ E_DEPRECATED);
ini_set('display_errors', 'ON');

$CONFIG = array();
$CONFIG['root'] = '/home/tom/public_html';
$CONFIG['rootwebsite'] = '/home/tom/public_html';
$CONFIG['website'] = 'https://###';

$CONFIG['dbhost'] = 'localhost';
$CONFIG['dbuser'] = '####';
$CONFIG['dbpass'] = '####';
$CONFIG['dbdatabase'] = 'tom';
?>

这是我在php文档中尝试使用的代码。问题是它不会在我的网站上显示任何内容(这是一个与我的网站不同的文件):


您没有调用正确的
$connection
变量。它应该是
$this->dbh

$getTopic = $this->dbh->prepare("SELECT * FROM topics ORDER BY id DESC");
此外,您还在
execute()
之后混合变量。您应该使用易于记忆的变量

public function getForum() {
    try {
        $getTopic = $this->dbh->prepare("SELECT * FROM topics ORDER BY id DESC");
        $getTopic->execute();
        $topics = $getTopic->fetchAll();
        foreach ($topics as $topic) {
            echo $topic['onderwerp'] . '<br />';
        }
    } catch (PDOException $pdoEx) {
        echo $pdoEx->getMessage();
        exit;
    } catch (Exception $ex) {
        echo $ex->getMessage();
        exit;
    }
}
公共函数getForum(){
试一试{
$getTopic=$this->dbh->prepare(“从主题中按id顺序选择*);
$getTopic->execute();
$topics=$getTopic->fetchAll();
foreach($topics作为$topic){
echo$topic['onderwerp'].
; } }捕获(pdoEx$pdoEx){ echo$pdoEx->getMessage(); 出口 }捕获(例外$ex){ echo$ex->getMessage(); 出口 } }
另外,由于您没有向查询传递任何变量,因此没有必要使用
prepare()
。只需调用
query()

对于错误报告添加

错误报告(E_ALL)#放在脚本顶部

你也应该考虑使用一个适当的IDE,比如PHP暴或NETBeas,因为它们很容易指出未定义的变量


正如所建议的,这里有一个,用于帮助调试

启用错误报告<代码>$dbh->prepare
应该是
$this->dbh->prepare
。。没有再看了。@LawrenceCherone我有,那不是我用的
prepare()
是无用的。只需执行查询。您没有绑定任何内容。
$getUTopic
不是您准备的语句。您的准备将结果放入
$getTopic
,但您在
$getUTopic
上获取所有内容。另外还有一个IDE建议-这里有一个通用调试php主题吗?这将是很好的链接到这样的问题。如果我像这样改变它仍然不会显示任何错误或记录在网站上。这篇文章是链接在帮助-@Tomishotttieee如何建立PDO连接?另外,如何调用函数
getForum()
?请将其添加到您的问题中OP首先需要获得
public function getForum() {
    try {
        $getTopic = $this->dbh->prepare("SELECT * FROM topics ORDER BY id DESC");
        $getTopic->execute();
        $topics = $getTopic->fetchAll();
        foreach ($topics as $topic) {
            echo $topic['onderwerp'] . '<br />';
        }
    } catch (PDOException $pdoEx) {
        echo $pdoEx->getMessage();
        exit;
    } catch (Exception $ex) {
        echo $ex->getMessage();
        exit;
    }
}