【发布时间】:2015-01-20 09:15:07
【问题描述】:
所以我遇到了这个麻烦。第 3、4、5 行的错误。这就是我定义对象属性的方式:
class Article {
//line 3
public $id; // line 4
public $pubDate; // line 5
public $title;
public $content;
这是我的错误方法:
public static function getById( $id ) {
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "SELECT *, UNIX_TIMESTAMP(pubDate) AS pubDate FROM material WHERE id = :id";
$st = $conn->prepare( $sql );
$st->bindValue( ":id", $id, PDO::PARAM_INT );
$st->execute();
$row = $st->fetch();
$conn = null;
if ( $row ) return new Article( $row );
}
我尝试使用以下方法禁用错误:
error_reporting(0);
@ini_set('display_errors', 0);
但这只是掩盖了问题,出版物仍然没有出现在页面上。 谢谢。
这是函数构造函数:
public function __construct($data = array()) {
if ( isset( $data['id'] ) ) $this->id = $data['id'];
if ( isset( $data['pubDate'] ) ) $this->pubDate = $data['pubDate'];
if ( isset( $data['title'] ) ) $this->title = $data['title'];
if ( isset( $data['content'] ) ) $this->content = $data['content'];
}
以及调用getById方法的函数:
function viewArticle() {
if ( !isset( $_GET["articleId"] ) || !$_GET["articleId"] ) {
homepage();
return;
}
$results = array();
$results['article'] = Article::getById( (int) $_GET["articleId"] );
$results['pageTitle'] = $results['article']->title;
require( TEMPLATE_PATH . "/viewArticle.php" );
}
【问题讨论】:
-
你在哪一行得到错误?顺便说一句,你不应该只是试图抑制错误。
-
上面没有34行。请用注释标记行。
-
对不起。已更正。
-
您的问题中没有代码试图获取对象的属性...也没有您的文章类的构造函数,因此请查看 new Article($row) 真正产生了什么或什么$row 包含
-
conn和sql应该是$conn和$sql。请关闭它。