Falsche Email Adressen per MYSQL SELECT anzeigen

19. Mai 2011 | Allgemein,MySQL,Shopware 3.5 | Ersten Kommentar erstellen »

Ein Kunde hat in der aktuellen Shopware 3.5 eine Menge an Email-Adressen für den Newsletter kopiert. Leider hatten waren auch einige Adressen mit einer falsche Syntax dabei. Dadurch wurde der Versand immer wieder abgebrochen. Mit folgendem Statement kann man sich die falschen Adressen anzeigen lassen:

SELECT *
FROM s_campaigns_mailaddresses
WHERE NOT
(
LOCATE(' ',LTRIM(RTRIM(`email`))) = 0
AND LEFT(LTRIM(`email`),1) <> '@'
AND RIGHT(RTRIM(`email`),1) <> '.'
AND LOCATE('.',`email`,LOCATE('@',`email`)) - LOCATE('@',`email`) > 1
AND LENGTH(LTRIM(RTRIM(`email`))) - LENGTH(REPLACE(LTRIM(RTRIM(`email`)),'@','')) = 1
AND LOCATE('.',REVERSE(LTRIM(RTRIM(`email`)))) >= 3
AND (LOCATE('.@',`email`) = 0 AND LOCATE('..',`email`) = 0)
);

PDO Abbruch bei Insert- oder Update-Befehl

16. März 2011 | Shopware 3.5,Zend Framework | Ersten Kommentar erstellen »

Bei der Entwicklung einer Import-Schnittstelle über die API für die Shopware 3.5 ist mir aufgefallen, dass der Prozess nach einem bestimmten Punkt immer wieder abgebrochen ist. Es lag an einer sehr hohen Zeichenmenge (>9000) einer einzufügenden Spalte. Abhilfe bringt die Methode um das SQL-Statement auszuführen. Anstatt query() funktioniert die exec-Methode.