Есть запрос, но в нем нету 1 поля с таблицы images
"SELECT id, name, url, description, visible, price, amount FROM products WHERE id = $id";
Есть запрос с join где как раз объединил 2 таблицы, но нету в нем WHERE id = $id и я не могу по id получать значение. Как мне это сделать ? куда в joine WHERE вставляется ?
$q = "SELECT p.id, p.name, p.url, p.description, p.visible, p.price, p.amount, i.filename FROM products p LEFT JOIN images i ON p.id = i.product_id";
Asked
Active
Viewed 38 times
0
Andrii
- 389
-
так добавьте where ко второму запросу в самый конец – Mike Jul 30 '17 at 12:53
-
делал так и у меня ошибка Warning: reset() expects parameter 1 to be array, boolean given. В массиве объекти и я использовал rest – Andrii Jul 30 '17 at 12:58
-
А это не sql ошибка, а php и не факт что она относится к sql. А если относится, то правильно обрабатывайте ошибки https://ru.stackoverflow.com/questions/423439/mysql-fetch-array-expects-parameter-1-to-be-resource-or-mysqli-result-boole. А в where у id то же не забудьте указать из какой он таблицы, т.е. p.id=X – Mike Jul 30 '17 at 13:08
1 Answers
0
SELECT p.id, p.name, p.url, p.description, p.visible, p.price, p.amount, i.filename
FROM products p
LEFT JOIN images i ON p.id = i.product_id
WHERE p.id = $id
LIMIT 1
Akina
- 31,807
Sergey Panasenko
- 523
-
-
1
LIMITбезORDER BY- это в лучшем случае лотерея. А в худшем - неверный результат. – Akina Jul 30 '17 at 14:08