MySQL结果没有';t替换变量


MySQL result doesn't replace variables

我正在为我的网站创建一个语言文件-内容修改文件,这样我就可以在管理面板中更改多个网站的文本。除了一件事,我什么都在做。当我使用内容如下的标准lang.php文件时:

$error_page_title = "$sitename | PAGE ERROR";

并使用

<? echo $error_page_title ?>

我得到:

example.com|PAGE错误出现在我的网站上。完美,正是我想要的。在我的配置文件中反映$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错误出现在我的网站上。不是我想要的。。。阿!

如何获取它,使我的输出被识别为PHP而不是文本

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

使用函数langString()而不是时

return $lang_row[phrase];

使用

return $lang_row['phrase'];

同时使用<?php而不是<?,如果只使用<?,某些服务器将无法正确解析它。可能不是问题所在,但永远不会知道