MySQL结果不替换变量

时间:2012-09-06 05:24:22

标签: php

我正在为我的网站创建一个语言文件 - 内容修改文件,以便我可以在管理面板中更改多个网站上的文本。我有一切工作除了一件事。当我使用标准lang.php文件时,其内容如下:

$error_page_title = "$sitename | PAGE ERROR";

并使用

<? echo $error_page_title ?>

我明白了:

example.com | PAGE ERROR出现在我的网站上。完美,正是我想要的。反映我的配置文件中的$ sitename并输出正确的网站名称。

当我这样做时:

function langString($lang_id) {
$lang_result = mysql_query("SELECT lang_string as phrase FROM lang WHERE lang_id='$lang_id'");
$lang_row = mysql_fetch_array($lang_result); 
return $lang_row[phrase];
}

并使用

<? echo langString(3); ?>

我明白了:

  

$ sitename | PAGE ERROR出现在我的网站上。不是我想要的...... Arrr!

如何才能将其输出识别为PHP而不是文本?

2 个答案:

答案 0 :(得分:1)

echo str_replace('$sitename', $sitename, langString(3));

答案 1 :(得分:0)

使用函数langString()而不是

return $lang_row[phrase];

使用

return $lang_row['phrase'];

同样使用<?php代替<?,如果您只使用<?,则某些服务器无法正确解析它。可能不是问题,但永远不会知道