0

おそらく本当に簡単なことがここにありますが、過去 30 分間 Google を検索してもうまくいきませんでした。

サーバー上のセッションに特定の値ストアがあり、それらをユーザーごとに取得して、さらにクエリで使用しようとしています。しかし、何らかの理由で、値が空のように動作しているので、何が間違っているのかわかりませんか?

$session_country = $_SESSION['my_country_code'];
$user_country = $db->get_sql_field("SELECT id FROM db_countries WHERE country_iso_code='".$session_country."'","country");
echo "your country is ";
echo $user_country;

私が間違っていることについてのヒントをいただければ幸いです:(

私がするとき:

<? print_r($_SESSION['my_country_code']); ?>

問題なく正常に表示されました!

//編集

get_sql_field のコードは次のとおりです。

function get_sql_field ($query, $field, $null_message = NULL)
    {
            (string) $field_value = NULL;

            $query_result = $this->query($query);

            if ($this->num_rows($query_result))
            {
                    $field_value = $this->sql_result($query_result, 0, $field);
            }
            else
            {
                    $field_value = $null_message;
            }

            return $field_value;
    }
4

2 に答える 2

1

クエリで実際に「country」フィールド(単に「id」)を選択していないように見えますが、「country」フィールドにアクセスしようとしています。「country」フィールドを選択するか、get_sql_field() 呼び出しの 2 番目の引数を「id」に変更して、それが実際に取得しようとしている場合です。

于 2013-11-05T21:00:53.757 に答える
0

これを試して:

$session_country = $_SESSION['my_country_code'];
$qry = "SELECT country FROM db_countries WHERE  country_iso_code='".$session_country."'";
$user_country = $db->get_sql_field($qry,"country");
echo "your country is ".$user_country;
于 2013-11-05T21:06:58.613 に答える