$str = $row[’test’];
eval(”¥$str = ¥”$str¥”;”);
echo $str;
$row[’test’]は パラメータ変数からtestの値を抜き出しているのだと思いますが $row の中味が気になります
まず、評価すべき$str=$strの中味が空だったのではないでしょうか?
この式だと $strの中味を再評価して展開することになります
このeval()の中味の2行目にエラーがあるという意味です
展開する evalの文字列の中味つまり $strがちゃんと {}が閉じていなかったり、”の数が合っていなかったり、$strが空白だったり、エスケープ文字が入っていたりしませんか?
eval を一度コメントアウトしてみて $strの中味を確認してみてください
http://jp.php.net/manual/ja/function.eval.php
PHP: eval - Manual
「パーサーが eval()の処理中に落ちないように、 渡す文字列はセミコロンで文が終了
するといった有効なPHPコード である必要があります。」ということですから、
$str 自体の中身、元をたどれば $row{’test’] の中身が原因、ということです。
例えば、$str の中身が「test”test」だったとします。すると、eval に渡される
文字列は、「$str = ”test”test”;」となります。これを PHP の文として解釈すれば、
エラーになることは分かりますよね。
うーむ。なるほど。ありがとうございます