Не могу отправить SQL запросы циклом в PHP

123
26 января 2020, 04:30

Если я делаю только один запрос вне цикла, то все замечательно работает, к примеру:

$query = "INSERT INTO `ochr_category` (`category_id`, `parent_id`, `top`, `column`, `sort_order`, `status`, `date_added`, `date_modified`) VALUES ('9999999', '321', '1', '1', '2', '1', '2019-03-04 19:43:43', '2019-03-04 19:43:43')";
mysqli_query($link, $query);

Но если в цикле:

foreach ($name as $key) {
  $query = "INSERT INTO `ochr_category` (`category_id`, `parent_id`, `top`, `column`, `sort_order`, `status`, `date_added`, `date_modified`) VALUES ('${$key[id]}', '321', '1', '1', '2', '1', '2019-03-04 19:43:43', '2019-03-04 19:43:43')";
  mysqli_query($link, $query);
}

то выдает ошибку -

mysqli_query() expects parameter 1 to be mysqli, null given in

$name - это асоциативный массив, $link - ссылка на бд. Подключение к бд есть, так как один запрос без проблем отправляется.

Более подробный код:

define('DB_HOST', '***');
define('DB_USER', '***');
define('DB_PASSWORD', '***');
define('DB_NAME', '***');
global $link;
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die("Не могу соединиться с MySQL.");
$catalog = new SimpleXMLElement($xmlstr);
$categories = $catalog->shop->categories->category;
get_category($categories);
 function get_category($name){
  foreach ($name as $key) {
    $query = "INSERT INTO `ochr_category` (`category_id`, `parent_id`, `top`, `column`, `sort_order`, `status`, `date_added`, `date_modified`) VALUES ('${$key[id]}', '321', '1', '1', '2', '1', '2019-03-04 19:43:43', '2019-03-04 19:43:43')";
    mysqli_query($link, $query);
  }
}
Answer 1

Спасибо, разобрался! Нужно просто передать $link, как параметр функции get_category.

READ ALSO
Двойной массив и вывод его

Двойной массив и вывод его

Пытаюсь сделать цикл со счетчикомНеобходимо сделать график кол-ва банов по времени unix, решил делать так:

126
Yii2 как сформировать post запрос на другой url?

Yii2 как сформировать post запрос на другой url?

У меня есть node который находится по адресу http://localhost:3004/

141
Вставить код языка в URL

Вставить код языка в URL

интересует такой вопрос можно ли вставлять в URL код языка посредством плагина на WordPress? Например есть сайт siteby/boom/ он на английском языке, а если...

124
Как реализовать фильтр коллекции через ajax на modx?

Как реализовать фильтр коллекции через ajax на modx?

Каким образом можно сделать фильтр коллекции на modx, чтобы при выборе select-option ajax-ом грузился контент

118