Php PDO不返回任何内容
因此,基本上我已经开始使用OOP,我根据教程编写的脚本给了我两个问题: 当我尝试将一个对象转换为变量时,会出现以下错误: 注意:试图在第14行的/home/stream/V2/templates/homepage.php中获取非对象的属性 第14行的代码是:Php PDO不返回任何内容,php,mysql,pdo,Php,Mysql,Pdo,因此,基本上我已经开始使用OOP,我根据教程编写的脚本给了我两个问题: 当我尝试将一个对象转换为变量时,会出现以下错误: 注意:试图在第14行的/home/stream/V2/templates/homepage.php中获取非对象的属性 第14行的代码是: <a href=".action=viewSeries&seriesId=<?php echo $series->id ?>"><?php echo htmlspecialchars( $
<a href=".action=viewSeries&seriesId=<?php echo $series->id ?>"><?php echo htmlspecialchars( $series->id ) ?></a>
整个series.php代码如下所示:此循环错误:
while( $row = $st->fetch() ){
$series = new Series( $row );
$list = $series;
}
最后一行应该是:
$list[] = $series;
因此,它会将每个系列推送到阵列上。每次通过循环时,您的代码都会用一个序列替换数组。在
$results['series']
中有什么?不应该$results['series']->description
是$series->description
?您可能还想尝试var\u dump('series)
在foreach
循环中查看其外观。$results
是index.php
中函数的局部变量。您无法在homepage.php
中访问它。另外,我看不到homepage.php
包含index.php
。我快速查看了构造函数的代码,看起来您使用了\u构造
来代替\u构造
。你想改变这一点,看看除了@Barmar的答案所建议的改变之外,它是否还有什么不同?谢谢,这个答案帮助我解决了一部分问题,但当我尝试var dump时,它仍然给我空值。如果一切都成功了,难道就没有结果吗?因为我什么都没有得到。如果一切都成功,那么你肯定会看到一些结果。除了PDO的异常处理之外,您的代码是否还启用了PHP错误报告功能?@jonatandavalar请参阅上面关于\uu construct()
中键入错误的评论。
//Return all (or range of) Series objects in the db
public static function getList( $numRows=100000, $order="id DESC" ){
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "SELECT id, description FROM series ORDER BY :order LIMIT :numRows";
//SQL_CALC_FOUND_ROWS *
$st = $conn->prepare( $sql );
$st->bindValue( ":numRows", $numRows, PDO::PARAM_INT );
$st->bindValue( ":order", $order, PDO::PARAM_STR );
$st->execute();
$list = array();
while( $row = $st->fetch() ){
$series = new Series( $row );
$list = $series;
}
//Now get the total number of series that match the criteria
$sql = "SELECT FOUND_ROWS() AS totalRows";
$totalRows = $conn->query( $sql )->fetch();
$conn = null;
return ( array ( "results" => $list, "totalRows" => $totalRows[0] ) );
}
while( $row = $st->fetch() ){
$series = new Series( $row );
$list = $series;
}
$list[] = $series;