私はおそらく愚かなことをしているのですが、これに1日取り組んでいて、エラーが見つからないようです。
複数のテーブルを結合しています。print_r(mysql_fetch_array($res)を使用して結果を出力すると、必要なフィールドの値が表示されます。ただし、これをエコーアウトしたり、アクセスしようとすると、空のように見えます。誰でも見つけられますか?私は何を間違っていますか?これは私を夢中にさせているので、事前に感謝します.
テーブル (一部のフィールドは省略)
members
id|username|password|datetime|email
membercontact
id|memberid|contactid
php
$sql = "SELEcT m.*,mc.*,mc.contactid as mccon
from `members` m
LEFT JOIN `membercontact` mc
on m.id = mc.memberid
WHERE m.id = '147'"
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)) {
echo $row['contactid'];
echo $row['mccon']
}
出力: なし。contactidフィールドにアクセスする他の方法も試しました。$row['password'] などの他のフィールドは出力されます
ただし、結果に print_r を使用すると、次のように表示されます。
配列 ( [0] => v [ユーザー名] => v [1] => pass [パスワード] => pass [2] => 147 [id] => 147 [3] => 2013-09-05 12: 08:03 [日時] => 2013-09-05 12:08:03 [4] => vz@aol.com [電子メール] => v@aol.com [19] => 933 [連絡先 ID] => 933 [20] => 147 [メンバー ID] => 147 [24] => 933 [連絡先 ID] => 933 )
私が気付いた唯一の奇妙な点は、いくつかのフィールドが複数回繰り返されていることです。(数字がスキップされている理由は、他の多くの不要なフィールドが省略されているためです。)