从PHP函数获取数组
我的db表看起来像那样 我正在尝试从该函数获取页面标题和内容从PHP函数获取数组,php,mysql,mysqli,Php,Mysql,Mysqli,我的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(MYS
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\u en
(en是我的语言变量)。我的代码怎么了?不要单引号引用字段。MySQL将其解释为字符串
$data=$db->query("SELECT $txt, $title FROM pages WHERE `id` = $current");
或者,您可以在MySQL中使用backticks。但是请注意,$current
仍然不应该假设它是一个整数字段
$data=$db->query("SELECT `$txt`, `$title` FROM pages WHERE `id` = $current");
不要单独引用您的字段。MySQL将其解释为字符串
$data=$db->query("SELECT $txt, $title FROM pages WHERE `id` = $current");
或者,您可以在MySQL中使用backticks。但是请注意,$current
仍然不应该假设它是一个整数字段
$data=$db->query("SELECT `$txt`, `$title` FROM pages WHERE `id` = $current");
为了澄清这一点,当您单引号引用字段时,实际上是在向数据库请求常量字符串。这就像说“给我一份数据库中每一行的字符串$title副本”@Robert Martin,很好的补充说明,我已经把它添加到了我的答案中。$data=$db->query(“从页面中选择n.name,p.$txt,p.$title作为p,nav作为n,其中
id=$current”)代码>这个代码有什么问题?一次只做一件事,朋友。如果您正在进一步深入兔子洞,您应该发布另一个问题(从您的新查询中可以看出)。为了澄清这一点,当您单引号引用字段时,实际上是在向数据库询问常量字符串。这就像说“给我一份数据库中每一行的字符串$title副本”@Robert Martin,很好的补充说明,我已经把它添加到了我的答案中。$data=$db->query(“从页面中选择n.name,p.$txt,p.$title作为p,nav作为n,其中
id=$current”)代码>这个代码有什么问题?一次只做一件事,朋友。如果你在兔子洞里越走越远,你应该发布另一个问题(从你的新查询中可以看出)。