Php 如何使用多个foreach在MYSQL中正确插入

Php 如何使用多个foreach在MYSQL中正确插入,php,mysql,wordpress,foreach,Php,Mysql,Wordpress,Foreach,我有一个小问题……我不知道如何更正。在表中插入所有数据,我试图解释。例如,我在每个系统中插入了2个system_ID(10061011)和5个ID(1,3,4,19,18),例如: ======================================= system_id | attribute_id | term_id ======================================= 1006 1 29 100

我有一个小问题……我不知道如何更正。在表中插入所有数据,我试图解释。例如,我在每个系统中插入了2个system_ID(10061011)和5个ID(1,3,4,19,18),例如:

=======================================
  system_id | attribute_id | term_id
=======================================
    1006           1            29
    1006           3            29
    1006           4            29
    1006           19           29
    1006           18           29
    1011           1            29
    1011           3            29
    1011           4            29
    1011           19           29
    1011           18           29
我试过这样的东西,但这不符合我的需要

          foreach ($sistemu_ids as $sistemos) {
            foreach ($rez as $rezas) {
              $wpdb->query("INSERT INTO " . $wpdb->prefix . "My_table
(system_id, attribute_id,term_id) VALUES ('$sistemos', '$rezas', '29')");
            }
          }
此代码插入如下所示:

=======================================
  system_id | attribute_id | term_id
=======================================
    1006           1            29
    1006           3            29
    1006           4            29
    1006           19           29
    1006           18           29
                   1            29
                   3            29
                   4            29
                   19           29
                   18           29
您可以尝试以下方法:

$query = "INSERT INTO Mytable (system_id, attribute_id,term_id) VALUES ";
foreach ($sistemu_ids as $key => $sistemos) {
    foreach ($rez as $rezas) {
        $queryValues[] = "('$sistemos','$rezas',29)";
    }
}
$query .= implode(',',$queryValues);
$wpdb->query($query);
将值存储到数组中,然后对多个记录执行查询,如:

INSERT INTO table (col,...) VALUES (val1,..),(val1,...)

您的代码似乎很好。问题是什么?测试您的输入数据,因为-尝试打印您输入的数据,并检查
$sistemu\u id
是否同时包含这两个值,问题出在$sistemu_id数组中:-)$sistemu_id可能包含一个空字符串或一个空值,该数组使用空系统_id生成第二个交互。要解决此问题,请先清理数组,或者不要对无效值进行交互。这肯定是一种更好、更快的方法,但无法解决他的问题。