这个片段导致文件丢了500个,我看不出原因。
<head>
<?php
$link = mysql_connect('****', '***', '*****');
$db_selected = mysql_select_db('***', $link);
if (!$db_selected) {
echo 'error';
}
$adchan = $_COOKIE['adtail'];
$adarray = json_decode($adchan);
if($adarray->{'subcat'} != 'main'){
$sql = "SELECT term_id FROM wp_terms WHERE slug='$adarray->{'subcat'}'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$id = $row['term_id'];
$sql2 = "SELECT option_value FROM wp_10_options WHERE option_name='$id'";
$result2 = mysql_query($sql2);
while($row2 = mysql_fetch_array($result2))
{
echo "<meta http-equiv='Refresh' content='".$row2['option_value']."'>";
}
}
}
else{
$sql = "SELECT term_id FROM wp_terms WHERE slug='$adarray->{'cat'}'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$id = $row['term_id'];
$sql2 = "SELECT option_value FROM wp_options WHERE option_name='$id'";
$result2 = mysql_query($sql2);
while($row2 = mysql_fetch_array($result2))
{
echo "<meta http-equiv='Refresh' content='".$row2['option_value']."'>";
}
}
}
?>
</head>
谁能明白为什么?
更新
<?php
error_reporting(-1);
$adchan = $_COOKIE['adtail'];
$adarray = json_decode($adchan);
var_dump($adarray);
print $adarray['cat'];
?>
它运行正常,直到打印,这是我得到500错误。输出是:
object(stdClass)#1 (4) { ["cat"]=> string(9) "lifestyle" ["subcat"]=> string(12) "arts-culture" ["page"]=> string(4) "main" ["zone"]=> string(22) "lifestyle/arts-culture" }
答案 0 :(得分:0)
500是内部服务器错误。有时,这是因为文件访问权限问题。你的文件访问权限是777吗?如果是,您可以尝试将权限更改为644,640或755,并查看问题是否会消失。
答案 1 :(得分:0)
我不确定。但是,这可能是因为mysql_fetch_array
级联。您将mysql_fetch_array
放入另一个mysql_fetch_array
。
并假设它有效,但它会给你带来不好的表现。
这对你来说可能更好。 (在if部分的内部)
$sql = "SELECT a.term_id,b.option_value FROM wp_terms a LEFT JOIN option_value b ON b.option_name=a.term_id WHERE a.slug='{$adarray->subcat}'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$id = $row['term_id'];
if(isset($row['option_value']))
echo "<meta http-equiv='Refresh' content='".$row['option_value']."'>";
}