<?php if($check_result){ $query = \"INSERT INTO tabela(kolumna1,kolumna2) VALUES('\".iconv(\"windows-1250\",\"UTF-8\", trim($row[0])).\"','\".iconv(\"windows-1250\",\"UTF-8\", trim($row[1])).\"'; } } ?>
Jest to fragment zawiłej pętli importującej dane z pliku do tabeli. kolumna 1 i 2 to pola BLOB (musi być BLOB). Dane przed wpisaniem do tabeli konwertowane są do UTF-8. Przed każdym wpisem skrypt sprawdza czy podany rekord już nie istnieje w bazie...
Jaki mam problem? W wierszach, które importuje, czasami występuje cudzysłów " . O ile w przypadku INSERT'a nie ma problemu z wpisaniem " cudzysłowia do tabeli i późniejszym wyświetleniem go to np.
SELECT * FROM tabela WHERE kolumna1 LIKE '%"%';
lub jak w moim przypadku:
<?php $query = 'SELECT * FROM tabela WHERE kolumna1=\"'.$string_zawierający_cudzysłów.'\"'; ?>
nie działa już poprawnie. Dlatego stosowane przeze mnie sprawdzanie czy rekord już nie istnieje w tabeli ($check_result) nie pozwala na wpisanie rekordu. Widzicie gdzieś błąd? Ja już za długo patrzę na ten kod...