御世話になります。お恥ずかしい質問かと思いますが、対応策が分からず投稿します。
表題の通りですが、phpmyadminを利用し、データ内に
{$name}さん、こんにちは。
と、変数を半角括弧で括った文字列が保存されていたとき、これを呼び出した際に、事前に同名の変数に値を代入しておき、
佐藤さん、こんにちは。
といったように出力したいと考えていますが、どうやっても出力すると
{$name}さん、こんにちは。
と、保存されたデータのまま出力されてしまいます。
単純に、テキストベースで
$name = "佐藤"; $txt = "{$name}さん、こんにちは。"; echo $txt;
このような場合は問題ないのですが・・・
お恥ずかしい質問かと思いますが、どのようにしたら変数に代入した値を出力したら良いうのでしょうか?
アドバイス頂けたら幸いです。
よろしくお願いいたします。
■追記
簡単ですが、再現できるソースを用意しました。
SQL
CREATE TABLE `test` ( `no` int(11) NOT NULL, `str` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `test` (`no`, `str`) VALUES (1, '{$name}さん、こんにちは。');
こちらだと問題ない。
$name = "佐藤"; $txt = "{$name}さん、こんにちは。"; echo $txt; //結果:佐藤さん、こんにちは。
対して、上記変数に代入されている文字列がデータベースに保存されていた場合、同じ様な結果を求めようとするが、上手くいかない。
$name = "佐藤"; $query = "SELECT str FROM test WHERE no = 1"; $result = $mysqli->query($query); $row_cnt = $result->num_rows; while ($row = $result->fetch_assoc()) { $str = $row["str"]; } echo $str; //出力結果:{$name}さん、こんにちは。
回答1件
あなたの回答
tips
プレビュー