Объединение массивов для вставки в таблицу MySQL - PullRequest
0 голосов
/ 30 января 2019

Я работаю над небольшим приложением, которое будет записывать данные акционеров нашей компании и принадлежащих им акций, а также передавать записи и т. Д. У меня есть таблица с именем stocks_inventory с колонками id, randnum иcertnum.Хотя id является автоинкрементом в MySQL, у меня есть две PHP-функции для определения randnum и certnum.Цель randnum состоит в том, чтобы иметь вид кода на физически напечатанном сертификате для проверки с целью защиты от подделки / подделки.Это дополнительная функция к физической подписи наших директоров.У меня есть две функции с именами createRAC() и certificate_numbers() для создания двух простых массивов.Я хочу объединить эти массивы как пары Key => value и вставить в таблицу MySQL.

Я уже написал и протестировал две функции, представленные ниже:

<?php
// RAC = Random Authentication Code
function createRAC() {
    echo $rac = hash('md5', (rand(111111,999999)));
}
$i = 0;
$num = 1000;
$array = array();
while ($i++ < $num) {
    $array[] = createRAC();
}
?>

<?php
function certificate_numbers($start, $count, $digits) {
   $result = array();
   for ($n = $start; $n < $start + $count; $n++) {
       $result[] = str_pad($n, $digits, "0", STR_PAD_LEFT);
    }
   return $result;
}
$numbers = certificate_numbers(1, 1000, 4);
print_r($numbers);
?>

Мне нужна помощь с оператором PDO для объединения этих массивов и запросом MySQL для вставки 1000 пар ключ => значение водин раз.И я хочу иметь возможность повторить эту функцию по мере роста количества акций / акционеров.

1 Ответ

0 голосов
/ 30 января 2019

Возможно, вы можете использовать что-то вроде этого

$query = 'INSERT INTO stocks_inventory(randnum,certnum) VALUES ';
foreach($array as $key => &$randnum) 
  $query.= ($key ? ',' : '') . "($randnum," . $numbers[$key] . ")";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...