"select *,prt.id as prid from prijzen_temp pt, producten prt where prt.site_id != 0 AND prt.site_id IS NOT NULL AND prt.cat_id IS NOT NULL AND prt.ean = pt.ean AND pt.ean != 0
Als ik dit in phpmyadmin draai, dan krijg ik het totaal van alle producten in de producten database.
Ik krijg dan
619690 total, 0 in query, Query took 0.0256 seconds.
0 in query.
Maar als ik dit via php draai, dan krijg ik 31 resultaten
$o = mysqli_query($DBD->conn(),"select *,prt.id as prid from prijzen_temp pt, producten prt where prt.site_id != 0 AND prt.site_id IS NOT NULL AND prt.cat_id IS NOT NULL AND prt.ean = pt.ean AND pt.ean != 0") or die (mysqli_error($DBD->conn()));
while ($t = mysqli_fetch_array($o))
{
$tel++;
echo $tel.'--+--';
}
Ik zou je best willen helpen. Maar jij geeft nooit antwoord. Je stelt een vraag, mensen gaan daarop reageren en proberen je te helpen ... en wat doet Daniel? Niks. Die vindt het wel prachtig. Hij krijgt z'n antwoorden, maar even laten weten of het gelukt is ... vergeet het maar. Een bedankje? Nee hoor, Daniel zwijgt.
Kijk, hier heb je zo'n voorbeeldje. Allemaal mensen die reageren en Daniel ... die gelooft het wel. Lekker makkelijk. Oh, en hier nog een voorbeeldje.
Nee hoor Daniel. Ik ga je vandaag niet helpen. Ik kan m'n tijd beter besteden aan mensen die dat echt waarderen.
Ik waardeer het zeer veel. Heb het soms idd te druk met allerleij dingen die er nu aan de hand zijn, dat ik het weleens vergeet.
Niet met kwade bedoelingen. Waardeer alle hulp.
Weet zo'n query:
SELECT pt.ean,pp.ean FROM producten pp, prijzen_temp pt WHERE pt.ean = pp.ean
Krijg alle resultaten in phpmysql te zien van de table producten:
Showing rows 0 - 24 (613940 total, 0 in query, Query took 0.0004 seconds.)
Dat zijn er exact: "613940"
Snap het niet, want in prijzen_temp zijn het er maar 9576.
De ean velden in beiden zijn bigint(13).
Bij producten is de ean uniek, bij prijzen temp niet.
Ik snap het niet, maar dit is mij nog nooit overkomen.
Ik hoop dat er nog advies gegeven kan worden en zal de volgende keer met een duidelijke feedback komen, zodat anderen ook geholpen kunnen worden.
select *,prt.id as prid from prijzen_temp pt, producten prt where prt.site_id != 0 AND prt.site_id IS NOT NULL AND prt.cat_id IS NOT NULL AND prt.ean = pt.ean AND pt.ean != 0
dan snap ik dat het overzicht kwijt raakt.
Je mag best af en toe op die grote enterknop drukken hoor:
SELECT *,prt.id as prid
FROM prijzen_temp pt, producten prt
WHERE
prt.site_id != 0
AND prt.site_id IS NOT NULL
AND prt.cat_id IS NOT NULL
AND prt.ean = pt.ean
AND pt.ean != 0
opvallende zaken:
1) Je gebruikt een join middels een komma tussen de tabelnamen, terwijl dat met "JOIN" of "INNER JOIN" op de plek van de komma een stuk duidelijker was.
2) dan zou de regel AND prt.ean = pt.ean als ON prt.ean = pt.ean achter de JOIN staan. Dat is duidelijker dan verstopt in een lange regel met andere where-clauses
3) vraag: kan pt.ean of prt.ean 0 zijn?
SELECT *,prt.id as prid
FROM prijzen_temp pt
JOIN producten prt ON prt.ean = pt.ean
WHERE
prt.site_id != 0
AND prt.site_id IS NOT NULL
AND prt.cat_id IS NOT NULL
AND pt.ean != 0
Ik heb een vermoeden dat je query niet anders wordt als de voorwaarden in WHERE weggelaten worden, of alleen bestaan uit WHERE prt.site_id > 0