2016-12-06 2 views
-1

У меня есть этот запросQuery работает в PHPMyAdmin, но не показывает идентификаторы на странице

SELECT a.*, b.*, c.*, e.*, d.* 
FROM categories a 
JOIN categories b ON(a.categoryID=b.parentCategory) 
JOIN products c ON(b.categoryID=c.categoryID) 
LEFT JOIN productprice d ON (d.productID = c.productID) 
JOIN currency e ON (e.currencyID = 1) 
WHERE a.categoryID in (263,264,265,266,267,268,306,256,0) 
ORDER BY a.priority 

Когда я выполнить запрос непосредственно в PHPMyAdmin я получил правильный результат и все есть.

Проблема в том, что я запускаю ее на странице, а затем пытаюсь отобразить productID У меня есть NULL. Это то, что я пытаюсь на странице

$query = "SELECT a.*, b.*, c.*, e.*, d.* 
FROM categories a 
JOIN categories b ON(a.categoryID=b.parentCategory) 
JOIN products c ON(b.categoryID=c.categoryID) 
LEFT JOIN productprice d ON (d.productID = c.productID) 
JOIN currency e ON (e.currencyID = 1) 
WHERE a.categoryID in (263,264,265,266,267,268,306,256,0) 
ORDER BY a.priority"; 

$result= mysql_query($query); 
while($row=mysql_fetch_object($result) { 

     var_dump($row->productID); 
} 

Все $ row-> PRODUCTID являются NULL.

Update: var_dump($result); возвращение

resource(286) of type (mysql result) 
+3

Прежде всего MySQL является устаревшим, используйте MySQLi вместо и положить var_dump() или ptint_r() на $ результата и проверяет данные –

+0

@MayankPandeyz Я знаю, что это осуждается. Я не использую его на производстве. Я обновил свой вопрос – user5996816

+0

« Предупреждение Это расширение было устарело в PHP 5.5.0, и оно было удалено в PHP 7.0.0. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. См. Также MySQL: выбор API руководство и связанные с ними FAQ для получения дополнительной информации Альтернатива этой функции включает в себя:. mysqli_affected_rows() PDOStatement :: ROWCOUNT() " –

ответ

2
Please try with this query 

$query = "SELECT a.*, b.*, c.*, e.*, d.* ,c.productID as productID 
FROM categories a 
JOIN categories b ON(a.categoryID=b.parentCategory) 
JOIN products c ON(b.categoryID=c.categoryID) 
LEFT JOIN productprice d ON (d.productID = c.productID) 
JOIN currency e ON (e.currencyID = 1) 
WHERE a.categoryID in (263,264,265,266,267,268,306,256,0) 
ORDER BY a.priority" 
+0

Большое спасибо. Он работает так. Поэтому их недостаточно, чтобы выбрать их как 'c. *' .. – user5996816

+0

Всегда лучше выбирать нужные столбцы. –

+0

Отмечено. Но в этом случае, почему они отображаются на phpmyadmin, то есть они выбраны, но не на странице? – user5996816

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