Al enige tijd ben ik aan het proberen om een CSV bestand met PHP in te lezen in een mysql database.
Via een formulier upload ik een CSV file welke dit omzet in een array.
Om dubbele records te voorkomen in de database wil ik op basis van het artikelnummer controleren of het bestaand artikel is of dat het gaat om een nieuw artikel.
Het zijn er natuurlijk meerdere maar een array ziet er zo uit
sku is degene die niet dubbel mag voorkomen. Als ik in mijn where statement deze waarde gebruik dan krijg ik geen resultaat. Vul ik USG-3 handmatig in dan werkt de query wel.
Als ik mijn sql code vergelijk zijn deze letterlijk identiek.
SQL code met variabele
SQL code met handmatig ingevulde sku
Zoals te zien totaal geen verschil.
Als ik onderstaande doe, dan is het resultaat string.
Daarnaast heb ik het geprobeerd zonder qoutes.
Iemand tips?
Via een formulier upload ik een CSV file welke dit omzet in een array.
Om dubbele records te voorkomen in de database wil ik op basis van het artikelnummer controleren of het bestaand artikel is of dat het gaat om een nieuw artikel.
Het zijn er natuurlijk meerdere maar een array ziet er zo uit
code:
1
2
3
4
5
6
7
8
9
10
11
12
| Array ( [sku] => USG-3 [search_code] => Ubiquiti [description] => Ubiquiti USG 3 security gateway [article_group] => 8000 [is_divisible] => 0 [journal_code_credit] => 8000 [journal_code_debit] => 7000 [is_active] => 1 [exact] => 0 ) |
sku is degene die niet dubbel mag voorkomen. Als ik in mijn where statement deze waarde gebruik dan krijg ik geen resultaat. Vul ik USG-3 handmatig in dan werkt de query wel.
Als ik mijn sql code vergelijk zijn deze letterlijk identiek.
SQL code met variabele
code:
1
| SELECT crm_articles.id, crm_articles.article_group, crm_articles.sku, crm_articles.is_active, crm_articles.created_at, crm_articles.description, crm_articles.price, crm_article_groups.label AS type FROM crm_articles LEFT JOIN crm_article_groups ON crm_articles.article_group = crm_article_groups.id WHERE crm_articles.sku = "USG-3" |
SQL code met handmatig ingevulde sku
code:
1
| SELECT crm_articles.id, crm_articles.article_group, crm_articles.sku, crm_articles.is_active, crm_articles.created_at, crm_articles.description, crm_articles.price, crm_article_groups.label AS type FROM crm_articles LEFT JOIN crm_article_groups ON crm_articles.article_group = crm_article_groups.id WHERE crm_articles.sku = "USG-3" |
Zoals te zien totaal geen verschil.
Als ik onderstaande doe, dan is het resultaat string.
PHP:
1
| echo gettype($data['sku']); |
Daarnaast heb ik het geprobeerd zonder qoutes.
Iemand tips?