1

このスニペットにより、ファイルで 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" }
4

2 に答える 2

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

                }
于 2012-05-19T04:52:53.193 に答える
0

500 は内部サーバー エラーです。ファイル アクセス許可の問題が原因である場合もあります。ファイルのアクセス許可は 777 ですか? はいの場合は、アクセス許可を 644、640、または 755 に変更してみて、問題が解決するかどうかを確認してください。

于 2012-05-19T04:40:44.697 に答える