PHP: SQL возвращает пустые ячейки для непустых полей - PullRequest
1 голос
/ 11 января 2011

Я вызываю простой JOIN SQL для базы данных mySQL.Точный запрос, вызываемый из сценария PHP:

SELECT * 
FROM weighteventtest 
LEFT JOIN commenttest ON weighteventtest.eventid=commenttest.eventid 
ORDER BY weighteventtest.eventid DESC 

Когда я запускаю SQL-запрос непосредственно в phpMyAdmin, я получаю обычный набор результатов со всеми значениями.Но когда скрипт вызывается через PHP, поле 'eventid' является пустым или пустым почти для всех строк.Когда я повторяю значения каждой строки, все поля имеют значение, кроме первичного ключа 'eventid', который является пустым, ЗА ИСКЛЮЧЕНИЕМ строк, в которых есть совпадение в объединенной таблице.?Спасибо!Будет.

1 Ответ

3 голосов
/ 11 января 2011

Виновник сочетает SELECT * с PHP.Поскольку в выходных данных есть два поля eventid (по одному из каждой таблицы), когда вы обращаетесь к столбцу по имени (eventid), он ошибочно находит второе (NULL из отсутствующей записи справа).

Чтобы устранить проблему, явно укажите, какие столбцы вы хотите после SELECT.Использование SELECT * в производственном коде обычно считается плохой практикой в ​​любом случае.

...