PHP MYSQL查询问题页面将无法加载

时间:2012-05-19 04:24:41

标签: php mysql

这个片段导致文件丢了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" }

2 个答案:

答案 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']."'>";

                }