php - why mysqli left join return 1 more rows? -
i have 2 tables called : 1) products 2) product_images , it's data :
products table : ============== productid title model_number ----------------------------------- 1 title1 123 2 title2 124 3 title3 125 4 title4 126 5 title5 127 product_images ============== pi_id p_id product_image ------------------------------ 1 1 image1 2 2 image2 3 3 image3 4 4 image4 5 1 image1
so if run query it's return 5 rows, that's correct :
$q=mysqli_query($conn, "select * products"); echo $n=mysqli_num_rows($q); // return 5 rows
but if run query it's return 6 rows, why ? it's should show 5 rows!
$searchquery = mysqli_query($conn, "select products.productid, products.title, products.model_number, product_images.product_image products left join product_images on products.productid = product_images.p_id "); $isexist = mysqli_num_rows($searchquery); // return 6 rows
can tell me why it's return 1 more rows , how can solved it? thank you.
actually want show products appropriate images.
you have used left join. , have 2 records p_id=1
; have 6 rows.
if want make p_id
unique use group_by in query.
write query below:-
select products.productid, products.title, products.model_number, product_images.product_image products left join product_images on products.productid = product_images.p_id group product_images.p_id;
hope :)
Comments
Post a Comment