Я использую 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 для управления этим?