2012-03-18 2 views
-4

, почему я не могу получить идентификатор так:Невозможно получить MySQL ID

. $row['ID'] . 

или таким образом

. $row['events.ID'] . 

Когда мой код выглядит следующим образом? Спасибо огромное!

Редактировать: У меня нет ошибок, но поле пустым.

$query =  
"SELECT 
    events.ID, 
    events.EVENT_NAME, 
    events.start_datetime, 
    events.end_datetime, 
    events.VENUE_LOCATION, 
    events.PARTY_TYPE, 
    events.SMALL_POSTER_URL, 
    events.ENTRANCE_PRICE, 
    venues.VENUE_NAME, 
    venues.BEER_PRICE, 
    venues.WINE_PRICE, 
    venues.SPIRITS_PRICE, 
    party_types.PARTYTYPE, 
    GROUP_CONCAT(music_styles.MUSIC_STYLE_NAME) AS MUSIC_STYLE_NAME 
FROM events 
INNER JOIN venues 
    ON events.VENUE_LOCATION = venues.ID 
INNER JOIN party_types 
    ON events.PARTY_TYPE = party_types.ID 
INNER JOIN events_music_styles 
    ON events.ID = events_music_styles.event_id 
INNER JOIN music_styles 
    ON events_music_styles.music_style_id = music_styles.id 
WHERE start_datetime >= '$DATE_START_SELECTED' 
AND end_datetime < '$DATE_END_SELECTED' 
GROUP BY events.ID 
"; 



$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
+2

Сделайте print_r ($ строка) внутри цикла и посмотреть, что на самом деле в этой переменной. – Corbin

+0

Вы вызываете 'mysql_fetch_assoc ($ result)'? Что говорит вам 'var_dump ($ row)'? –

+0

Нет, я делаю простое эхо. – pufAmuf

ответ

1

Использование mysql_fetch_row($result) будет возвращать строки как перечислимый массив, вам нужно использовать mysql_fetch_assoc($result), чтобы получить ассоциативный массив,

+0

Спасибо Shocker, это сработало отлично! – pufAmuf

+0

@pufAmuf В чем дело? вы уже используете правильный синтаксис и имеете свои данные. почему вы принимаете неправильный ответ? Это не хорошо. –

+0

Эй, ваше общее чувство, это сработало для меня, поэтому я принял его. – pufAmuf

1

Я думаю, вы просто отсутствует mysql_fetch_assoc(..)

сделать это:

$result = mysql_query($query) or die(mysql_error()); 
$row = mysql_fetch_assoc($result); 

, а затем вы можете использовать $row["ID"]

Если это не сработает, попробуйте

SELECT 
events.ID as id, 
events.EVENT_NAME, 
... 

, вы можете получить к нему доступ через $row["id"]

Удачи!

+1

почему -1? Не получить его ... – Stefan

+0

Спасибо Stefan! не работает полностью, потому что по какой-то причине он удалил некоторые результаты из моего запроса. Теория шокера работала, но я не пробовал вторую идею, о которой вы говорили. Тем не менее, спасибо за вашу помощь! :) – pufAmuf

+0

На самом деле, я оставил все ответы. Кто-то другой, должно быть, вас отпустил. – pufAmuf

Смежные вопросы