Intereting Posts
Расчет даты PHP Как получить изображение пользователя с API-интерфейсом Twitter 1.1? Очистить URL-адреса поискового запроса? Предупреждение: mysqli_stmt :: bind_param (): Число переменных не соответствует количеству параметров в подготовленном операторе в C: \ User .. \ on 148 Как закончить этот Google Calendar Api v3 – FreeBusy PHP – пример? Как найти повторяющиеся элементы в массиве? Защита формы контакта php Запись идентификатора в базу данных и чтение пользователя WordPress с его идентификатором Загрузите видео на Youtube с помощью curl и api v3 PHP создает трехмерный массив из массива с тремя значениями Почему в моем корневом каталоге не работает ../ (dot dot slash)? fgets () PHP прочитал последнюю строку? Echo не показывает скопированный текст из txt-файла для формирования текстовой области PHP Почему соединение с ASE не выполняется, когда требуется шифрование пароля? Zend как использовать компонент кэша

Выполнить инструкцию для всех строк xml?

Я воспроизвел свой код в подготовленном заявлении (надеюсь, достаточно правильно), и теперь я могу вставлять значения из моего XML в таблицу SQL. Проблема в том, что он только вставляет данные из первого продукта. И я хочу, чтобы оператор выполнял это для всех продуктов.

Вот план онлайн-XML, который я пытаюсь вставить:

<?xml version="1.0" encoding="UTF-8"?> <datafeed> <info> <category></category> <product_count></product_count> </info> <programs> <program> <program_info> <name></name> </program_info> <products> <product> <update_info> <insert_date></insert_date> </update_info> <product_info> <price></price> <price_old></price_old> <ean></ean> </product_info> </product> <product>...</product> <product>...</product> <product>...</product> <product>...</product> </products> </program> </programs> </datafeed> 

Код, который я сейчас использую, и который вводит только значения первого продукта:

 <?php $conn = new mysqli($servername, $username, $password, $dbname); $xml=simplexml_load_file("URL-to-XML") or die("Error: Cannot create object"); foreach ($xml->programs->program->products->product->product_info->price as $price); foreach ($xml->programs->program->products->product->product_info->price_shipping as $price_shipping); // prepare and bind $stmt = $conn->prepare("INSERT INTO BBB (price, price_shipping) VALUES (?,?)"); $stmt->bind_param("ss", $input_price, $input_price_shipping); // set parameters and execute $input_price = $price; $input_price_shipping = $price_shipping; $stmt->execute(); echo "New records created successfully"; $stmt->close(); $conn->close(); ?> 

Я попытался воспроизвести это на подготовленном коде, поэтому, если есть дополнительная информация о том, как улучшить код, пожалуйста, дайте мне знать.