2011-01-09 6 views
0

私はこのようなSelectステートメントがある場合:PHP/MySQL:複数のテーブルを持つMySQL-Resultのcolを呼び出すには?

SELECT T1.TEXT, T2.FIELD FROM TABLE1 T1, TABLE2 T2 WHERE T1.ID = T2.ID 

を、私はするmysql_queryでそれを使用して、mysql_fetch_objectでそれをフェッチします。

ここでどのようにフィールドにアクセスできますか? $ fetched-> T1.TEXTは...助けを

THX動作しない

UPDATE 2013:この質問はかなり古いですが、正しいと最も簡単な方法は、内のすべてのフィールドに別名を与えることですselect文は一意です。サンプル:

SELECT T1.TEXT AS MYTEXT, T2.FIELD AS MYFIELD FROM TABLE1 T1, TABLE2 T2 WHERE T1.ID = T2.ID 

PHP:

mysql_connect('host','user','pass'); 
mysql_select_db('mydb'); 
$resource = mysql_query(/* the query again */); 
$firstrow = mysql_fetch_object($resource); 
$text = $firstrow->MYTEXT; 
$field = $firstrow->MYFIELD; 
+1

$ fetched-を試してみてください> TEXT – cristian

+1

私はT1.TEXTとT2.TEXTを選択すると動作しないため、動作しないと思います。 –

+1

フィールドにエイリアスを追加しないでください。たとえば、SELECT T1.TEXTをt1_text、T2.FIELDをt2_field FROM TABLE1 T1、TABLE2 T2 WHERE T1.ID = T2.ID'とし、$ fetched-> t1_textまたは$ fetched - > t2_field – cristian

答えて

2

この


mysql_connect("hostname", "user", "password"); 
mysql_select_db("mydb"); 
$result = mysql_query("select user_id,fullname from mytable"); 
while ($row = mysql_fetch_object($result)) { 
    echo $row->user_id; 
    echo $row->fullname; 
} 
mysql_free_result($result); 

もっとin php manual about mysql-fetch-object

+1

これは動作しますが、PHP/MYSQLで始めると多くの人が(私を含む)間違いを犯さないようにしてください...準備された文を使うhttp://php.net/ manual/en/pdo.prepared-statements.php – ubiquibacon

1

あなたはフィールドがこれを行うことによって、あなたのオブジェクトであるかを見ることができます。

var_dump($fetched); 

おそらくフィールド$ fetched-> TEXTが表示されます。 (あなたがPHPを使用していると仮定)

+0

彼はPHPを確実に使用しています – cristian

0

を見て、これを試してみる - >

$fetched->{T1.TEXT} 
関連する問題