Intereting Posts
Возвращаемый массив PHP Regex со значениями, пустыми Заполнить ввод файла после формы submit / on form submit error Как вы объясните результат для нового \ DateTime ('0000-00-00 00:00:00')? В диалоговом окне «Сохранить как» в PHP Как заменить узел XML на SimpleXMLElement PHP Подключение к базе данных MySQL с помощью PHP с устройства Android API Google: аутентифицировать запрос с помощью OAuth, но без окна согласия пользователя, затем запрашивать данные Google для определенного имени пользователя или идентификатора пользователя PHP MySQL – добавление строки в середине цикла Ошибка сайта Codeigniter 404 / .htaccess Запрос Ajax на ту же страницу Параметр переопределить метод с дочерним интерфейсом в качестве нового параметра Javascript не загружается при начальной загрузке страницы Почему этот тип mongo не работает в PHP? nginx показывает пустые страницы PHP Запрос на связанные модели с использованием Laravel 4 и Eloquent

PHP подготовил инструкцию insert из многомерного массива

Обновленный код:

if (isset($_POST['submit'])) { /* Create a prepared statement */ $query = "INSERT INTO log_dates(week_date, crew_chief, monday_crew) values(?,?,?)"; $stmt = mysqli_prepare($connection, $query); $returnedData = $_POST['data']; foreach($returnedData as $data) { $week_date = $data['week_date']; $crew_chief = $data['crew_chief']; $monday_crew = $data['monday_crew']; $stmt->execute(); } mysqli_stmt_bind_param($stmt, 'sss', $week_date, $crew_chief, $monday_crew); /* Execute it */ mysqli_stmt_execute($stmt); /* Close statement */ mysqli_stmt_close($stmt); } // end if 

Вот как выглядит мой массив POST:

 Array ( [0] => Array ( [week_date] => 2013-07-08 - 2013-07-14 ) [1] => Array ( [crew_chief] => Alan ) [2] => Array ( [monday_crew] => dd ) ) 

Это не то, как вы привязываете параметры. Вы производите несколько параметров в значение SINGLE. Вызов связывания должен быть

 mysqli_stmt_bind_param($stmt, 'ss', $foo, $bar); ^^--two params ^^^^^^^^^^---two values foreach($returnedData as $data) { $bar = $data['crew_chief']; $foo = $data['week_date']; $stmt->execute(); } 

как только переменные привязаны, просто присваивание им новых значений приведет к следующему вызову -> execute () оператора, чтобы получить эти новые значения.

У меня есть идея для вас. Вы должны иметь представление о том, что вы делаете.

Прежде всего вам нужно разработать чистый SQL-запрос, который вы хотите запустить с SQL-сервером. Без подготовленных операторов, без mysqli, без PHP. Чистый SQL.

SQL – это ваша проблема, а не API для отправки на сервер. И затем, постепенно, шаг за шагом, продолжайте разработку необходимой вам программы. Вот приблизительный контрольный список:

  1. Прежде всего, необходимо создать базу данных для хранения ваших данных.
  2. Как только вы это сделаете, вам нужно подумать о том, какой запрос будет использоваться для вставки.
  3. затем напишите этот запрос вручную и убедитесь, что он работает в консоли
  4. следующим шагом было бы определить, какие данные вам нужны для этого запроса
  5. то вы должны проверить данные, которые у вас есть, и определить, подходит ли она для (4)
  6. если нет – вам нужно отформатировать существующие данные, чтобы соответствовать требованиям (4)
  7. Как только у вас есть это, вы можете начать писать PHP-программу, которая динамически создает ваш запрос, используя конкатенацию строк и эхо-результат.
  8. то вам нужно протестировать этот динамически построенный запрос в консоли, как в (3)
  9. если он работает – замените переменные в запросе заполнителями и продолжайте выполнение этого запроса с помощью подготовленных операторов mysqli с одним набором данных. Обратите внимание, что при использовании собственных подготовленных операторов заполнитель может представлять только один литерал данных.
  10. сделав это, вы можете, наконец, начать свое исследование по проблеме подачи подготовленного заявления с несколькими значениями.

Вы можете попросить о помощи для любого этапа сверху, но важно следовать списку. Кажется, вы просите последний элемент, который не завершил первый.

Надеюсь, поможет.