こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHP エラーについて

ファイルをテンプレ&mysqlを使って自動生成するスクリプトを書いているのですが
以下のエラーが出ます。

Fatal error: Call to a member function append() on a non-object in /home/stylenavi/www/httpdocs/test/file_make2.php on line 52

while ($rb2 = mysql_fetch_array($rb)) で値はDBから取れているのですが、
それが次の行でエラーになる理由がわかりません。

どなたかお力ぞえ頂けないでしょうか。
よろしくお願いいたします。

----------------------------------------------------------------------
<?PHP
require_once("Smarty.class.php");

$s=mysql_connect("hogehoge.db.sakura.ne.jp","hogehoge","hoge") or die("失敗しました");
mysql_select_db("hogehoge",$s);
$sql = "SET NAMES utf8";
$result = mysql_query($sql);

$template = "../templates/itiran_page_test.tpl";

$sakuin = "sakuin1";

//フッターリンク(1)のキー定義
$h_link = "sakuin1";

//下層ページファイル名一覧の取得
$ra=mysql_query("select * from sougou_db where key5 LIKE 'sakuin1'");

while ($ra2 = mysql_fetch_array($ra)) {
$ra3 = array($ra2[filename]);


foreach( $ra3 as $value ){

//テンプレートの読み込み
$contents = file_get_contents( $template);

// 作成するファイル名の指定
$file_name = $dir.$value;

//ページ要素の取得とテンプレートへの挿入
$rb=mysql_query("select * from sougou_db where (filename = '$value')");
while ($rb2 = mysql_fetch_array($rb)) {
//echo $rb2[title]; //⇒ちゃんと表示できます           
$objSmarty->append('data2',$rb2);
}

//索引一覧の取得とテンプレートへの挿入
$rc=mysql_query("select * from sougou_db where (key5 = '$sakuin') ");
while ($rc2 = mysql_fetch_array($rc)) {
//$objSmarty->append('data3',$rc2);
//echo $rc2[title];
}

//フッターリンクの取得とテンプレートへの挿入
$rd=mysql_query("select * from sougou_db where (key5 = '$h_link') ");
while ($rd2 = mysql_fetch_array($rd)) {
//$objSmarty->append('data4',$rd2);
//echo $rd2[title];
}

if( !file_exists($file_name) ){
touch( $file_name );
chmod( $file_name, 0666 );
echo('Info - ファイル作成完了。 file name:['.$file_name.']');

$handle = fopen( $file_name, 'w');
fwrite( $handle, $contents);
fclose( $handle );

}else{
// すでにファイルが存在する為エラーとする
echo('Warning - ファイルが存在しています。 file name:['.$file_name.']');
exit();
}

}
}
?>

投稿日時 - 2011-03-19 18:04:55

QNo.6604572

すぐに回答ほしいです

質問者が選んだベストアンサー

$objSmarty 変数はどこでセットしているのですか?
『 $objSmarty 変数が null だ!』 と言ってエラーになっているような気がするのですが。

投稿日時 - 2011-03-19 18:38:41

お礼

ありがとうございます!!

まさにそのとおりでした・・・

投稿日時 - 2011-03-19 19:08:22

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問