连接数组以插入mysql表

时间:2019-01-30 07:42:23

标签: php mysql pdo

我正在开发一个小型应用程序,该应用程序将记录我们公司的股东及其所持股份和转移记录等数据。我有一个名为stocks_inventory的表,其中有列idrandnumcertnum。 尽管id在mysql中是自动递增的,但我有两个PHP函数来定义randnumcertnumrandnum的目的是在物理打印的证书上提供一种代码,以进行验证,以防止伪造/伪造。这是董事亲自签名的附加功能。 我有两个名为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个key => value对。而且我希望能够随着股份/股东数量的增长而重复此功能。

1 个答案:

答案 0 :(得分:0)

也许你可以使用这样的事情

$query = 'INSERT INTO stocks_inventory(randnum,certnum) VALUES ';
foreach($array as $key => &$randnum) 
  $query.= ($key ? ',' : '') . "($randnum," . $numbers[$key] . ")";