我的db表看起来像那个
我正在尝试从此功能获取页面标题和内容
function page($current, $lang){
global $db;
$txt='txt_'.$lang;
$title='title_'.$lang;
$data=$db->query("SELECT '$txt', '$title' FROM pages WHERE `id`='$current'");
$data=$data->fetch_array(MYSQLI_BOTH);
return $data;
}
然后在索引页面的开头获取数组值
$data=page($id, $lang);
并使用类似这个例子
<title><?=$data[1]?></title>
但每次都得到相同的结果title_en
(en是我的语言变量。)。我的代码出了什么问题?
答案 0 :(得分:6)
不要单引号字段。 MySQL将其解释为字符串。
$data=$db->query("SELECT $txt, $title FROM pages WHERE `id` = $current");
或者你可以在MySQL中使用反引号。但请注意,$current
仍然不应该假设它是一个整数字段。
$data=$db->query("SELECT `$txt`, `$title` FROM pages WHERE `id` = $current");