アプリ版:「スタンプのみでお礼する」機能のリリースについて

$device = 'a';
$Field = $device.'_type';

$sql = 'select "'.$Field.'" from table where member_id = "'.$id.'"';
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);

if ($row){
echo $row[$Field];
}

$row[$Field]をechoで表示すると『a_type』と表示され、中身が表示されません。
フィールド名を変数ではなくa_typeと直接入力すると正常な結果が表示されます。

ちなみにtableにはa_type、b_type、c_typeテーブルが存在します。
ドコモからのアクセスはa_type、auからはb_typeと、ユーザーエージェントによって分けています。

フィールド名を変数で指定して値を取得するには、どのようにすればよいでしょうか?
宜しくお願いいたします。

A 回答 (1件)

こんにちは。



SQLの構成がおかしいです。
$sqlを出力すると
select "a_type" from table where member_id="a"
というものが生成されています。

$Fieldを"でくくっては返ってくる値は常にa_typeになってしまいます。

$sql = 'select '.$Field.' from table where member_id = "'.$id.'"';
に修正してみてください。
    • good
    • 1
この回答へのお礼

ありがとうございました。無事解決しました。

お礼日時:2012/06/20 20:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す