如果我的问题没有意义,我道歉。从下面的代码中可以看出,它扫描PHP文件,在{( )}
之间抓取文本并将其存储到$match
。
现在我要做的是在查找列$match
的表上进行查询,其中pageid等于URL中的pageid以及字段不为空的位置。到目前为止,它只在文本区域中返回Array。
我是否正确设置了代码,或者我错过了一些简单的内容?我知道扫描部分正在工作,因为如果我回应匹配,我会在{( )}
区域之间得到文本。由于某种原因它只是没有正确的查询。或者就像我说我错过了一些东西。任何帮助都会很棒。如果您需要更多信息,请与我们联系。 (我没有收到任何MySQL错误。)
$fn = "../templates/".$templateid.".php";
$file = file_get_contents($fn);
preg_match_all("#\{\('(\w+)'\)}#", $file, $matches);
foreach ($matches[1] as $match)
{
$result = mysql_query("SELECT * FROM pages WHERE $match IS NOT NULL AND linklabel = '$pageID'") or die("Err: ".mysql_error());
$res = mysql_fetch_array($result);
$content = $res;
echo " <div id='tabs-".$match."'>
<textarea id='".$match."' name='content-".$match."' class='fieldsetstyle'>".$content."</textarea>
<script type='text/javascript'>
CKEDITOR.replace( '".$match."' );
</script>
</div>";
}
答案 0 :(得分:3)
$ res是一个数组,所以尝试输出正确的列,比如
echo $res['linklabel'];
或尝试var_dump()
var_dump($res);
$content = $res; // Still, $content is an array, not text
答案 1 :(得分:0)
试试这个
$result = mysql_query("SELECT * FROM pages WHERE ".$match." IS NOT NULL AND linklabel = '".$pageID."'") or die("Err: ".mysql_error());
尝试此更新
替换此
foreach ($matches[1] as $match)
有了这个
foreach ($matches[1][1] as $match)