Как вставить значения CSV с апострофом в таблицу с PDO? - PullRequest
0 голосов
/ 04 февраля 2019

Я использую PHP-файл для чтения значений из CSV-файла и импорта его в базу данных mysql.Работает нормально, но теперь у меня ошибка с CSV-файлом с апострофом в одном поле:

CSV-файл:

...
21.08.2018;21.08.2018;Peter Muller;Voucher;6 LED's for Kitchen Lamp;19,40;EUR;1000
...

Проблема: в тексте есть апостроф.

мой оператор PHP Insert:

<?php    
...    
$sqlinsert  = "INSERT INTO `" . $tablename . "` "
                               ."(`BankID`, `Date`, `Valuta`, 
                                  `Topic`, `Type`, 
                                  `Text`, `Amount`, 
                                  `Currency`, `Balance`) "
                               ."VALUES "
                               .    "(" 
                               ."'$id', "           // BankID
                               ."'$csvdata[0]' , "  // Date
                               ."'$csvdata[1]' , "  // Valua
                               ."'$csvdata[2]' , "  // Topic
                               ."'$csvdata[3]' , "  // Type
                               ."'$csvdata[4]' , "  // Text
                               ."'$csvdata[5]' , "  // Amount
                               ."'$csvdata[6]' , "  // Currency
                               ."'$csvdata[7]'"     // Balance
                               .") "
                               ."ON DUPLICATE KEY UPDATE "
                               ."BankID      = VALUES(BankID), "
                               ."Text        = VALUES(Text); ";
            # echo "<b>SQL: </b> . $sqlinsert . <br>";
            $insCmd = $pdo->prepare($sqlinsert); 
            $insCmd->execute();

И сообщение об ошибке:

Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; 

Поскольку я новичок в PDO, как я могу манипулировать $csvdata[4] дляобращаться с идеальной вставкой?- Или есть специальная команда PDO для управления этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...