状態:-
閲覧数:5,509
投稿日:2013-03-24
更新日:2013-03-24
エラーメッセージ
Fatal error: Non-abstract method クラス名::メソッド名 must contain body in ○○.php on line △△
エラー原因
(abstract修飾子を付与していない)通常定義メソッドなのに、中身がない
※must contein body : つまり {} を付与しなければいけない
エラー対応案
案1.メソッドの中身を付与
案2.「抽象メソッド」へ変更
エラーと対応 … 例1
エラー例1
・作成途中に付き、「引数」と「メソッド内で利用されている変数」は一致していない(そこは認識している)
・デバッグしてもこのエラーが消えなかったので、一瞬オレの頭がおかしくなってしまったのかと思った
public function getQuestion($category,$qstn,$t_time);
{
echo "<meta charset=\"utf-8\" />";
echo "<pre>";
print_r($category);
echo "</pre>";
echo "<pre>";
print_r($qstn);
echo "</pre>";
echo "<pre>";
print_r($t_time);
echo "</pre>";
$sql = "
SELECT a.*, q.*
FROM quiz_quest q
LEFT JOIN quiz_test a ON a.tid = q.test_id
WHERE q.test_id = :id
";
return $this->fetchall($sql, array(
':id' => $id,
));
}
原因
・bodyに該当する「{}」部分を確かに記述しているが、メソッド宣言直後に「;」が紛れこんでいるため、そこでステートメントは一旦終了
・結果的に、PHPがこれを認識していない
対応
・メソッド宣言直後に紛れこんでいる「;」を削除
Fatal error: Cannot break/continue 1 level
Fatal error: Allowed memory size of ★★ bytes exhausted (tried to allocate ○○ bytes) in △△ on line □□