Я отправляю запрос в Amazon mws API и получаю детали заказа в виде xml / json, который затем сохраняю в базе данных mysql.
Большая часть данных будет сохранена без каких-либо проблем, но для одного заголовка элементаЯ получаю следующую ошибку:
PDOException: SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 В синтаксисе SQL есть ошибка;проверьте правильность синтаксиса в руководстве, соответствующем версии вашего сервера MySQL, рядом с надписью «Обувь и сандалии (черный, взрослый-М США (7 ~ 10) / ЕС (39 ~ 43))», «0», «0») 'в строке 2
Код php для вставки выглядит следующим образом:
foreach ($allorders as $orders){
$orderiddetail = $orders->amazonorderid;
// SET Paramater for API request
require("amazonListOrderItems.php");
$quantityordered = $orders['ListOrderItemsResult']['OrderItems']['OrderItem']['QuantityOrdered'];
$quanityshipped = $orders['ListOrderItemsResult']['OrderItems']['OrderItem']['QuantityShipped'];
$title = $orders['ListOrderItemsResult']['OrderItems']['OrderItem']['Title'];
$sellersku = $orders['ListOrderItemsResult']['OrderItems']['OrderItem']['SellerSKU'];
$asin = $orders['ListOrderItemsResult']['OrderItems']['OrderItem']['ASIN'];
// INSERT
try {
$statement = $pdo->prepare("INSERT INTO order_details(amazonorderid, asin, sellersku, title, quantityordered, quantityshipped)
VALUES ('$orderiddetail', '$asin', '$sellersku', '$title', '$quantityordered', '$quanityshipped')");
$statement->execute();
} catch (PDOException $e) {
if ($e->errorInfo[1] == 1062) {
$result = "Double entry";
} else {
echo $e;
break;
}
}
// INSERT END
};
Текст сообщения об ошибке взят из переменной $ title, $ amountordered, $ amountshipped.
Подскажите, пожалуйста, какие символы вызывают ошибку?Я использую одинарные кавычки (') для вставки, поэтому я подумал, что косая черта (/) не должна быть проблемой?После того, как я проверил, я обнаружил, что тильда (~) является символом UTF8 и тоже не должна быть проблемой?
Как я уже сказал, вставка будет работать около 20 ордеров, а затем остановится для этогоодин заказ.