私は、呼び出されたときにデータベースを照会し、データをフォーマットし結果を返す関数loadContent()
を持っています。これは非常に基本的なCMSを構築するために使用されており、この関数はデータベースから記事を読み込むために使用されます。PHP関数が結果を返さない
$articles = mysql_query("SELECT `id`, `name`, `content`, `keywords`, `description`, `access_level` FROM `tb_articles` WHERE `page_id`='$pageID'");
if(!$articles){
die('Error!: ' . mysql_error());
}
while($arts = mysql_fetch_assoc($articles)){
$content .= '<div class="article" id="art-' . $arts['id'] . '">';
$content .= '<h1>' . $arts['name'] . '</h1>';
$content .= $arts['content'];
$content .= '</div>';
}
return $content;
}else{
私の問題は何も返されませんされていることである。
ここで関数が質問されています。 SQLは検証され、2行が返されます。私はループ内のすべてをコメントアウトして、$content .= 'test';
行を追加し、return文をecho $content;
に変更し、関数が "test"を2回エコーしました。それで私がやったことに何が間違っていますか?
私を助けてくれてありがとう、私はかなりPHPに新しいです。
UPDATE:
ポストは今、すべての有効な変化を表しています。
私はvar_dump
でどこかにいました。 return
の直前に私は$content
を投棄しました。データベース内のすべての記事(2件)はstring(2445) ""
の中に表示されました。これは、クエリに問題がないことを確認します。私は今、それがreturn文と関係があると考えています。
それはすべきですか? –
ループの最初の行で '$ content ='を '$ content。='に変更してみてください。 – Cyclonecode
ああ...いいえ、心配しないで、私はそれがどのように動作するのか理解しています。 –