Различение столбцов в MySQL с использованием PHP - PullRequest
0 голосов
/ 12 октября 2009

Если у меня есть этот запрос:

SELECT tableA.Id, tableB.Id FROM tableA JOIN tableB ON (tableA.bId = tableB.Id)

Теперь, если я попробую это в php, у меня возникнут некоторые проблемы:

while($result = mysql_fetch_array(mysql_query(/Query Above/)){
    print $result['tableB.Id'];
}

Теперь я знаю, что вы собираетесь сказать, что я должен выполнить мой запрос как:

SELECT tableA.Id AS aId, tableB.Id AS bId 
FROM tableA 
JOIN tableB ON (tableA.bId = tableB.Id)

и затем используйте: $result['bId']

Но на самом деле запрос выглядит так:

SELECT tableA.*, tableB.* FROM tableA JOIN tableB ON (tableA.bId = tableB.Id)

Можно ли как-нибудь получить результат в PHP, не выполняя AS для каждой отдельной строки?

Спасибо

1 Ответ

4 голосов
/ 12 октября 2009

Вы не можете, согласно руководству по PHP:

"Если два или более столбцов результата имеют одинаковые имена полей, последний столбец будет иметь приоритет. Чтобы получить доступ к другим столбцам с тем же именем, вам необходимо получить доступ к результату с помощью числовых индексов, используя mysql_fetch_row () или добавьте псевдонимы. "

ср. http://www.php.net/manual/en/function.mysql-fetch-assoc.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...