【问题标题】:How can I insert an array of variable into a database individually in php?如何在php中将变量数组单独插入数据库?
【发布时间】:2020-08-04 02:58:28
【问题描述】:

如何将数组单独插入数据库,它显示错误。我想一次将它们全部插入...有时数组可能更多的是 3、5 或 10。

$roll_num = '111,222,333';
$rollnum = explode(",",$roll_num);

$sql ="INSERT INTO eyfstb(specialnum)  VALUES('$rollnum[]')";

if($db->query($sql)== TRUE){
    echo "true";
}else{
     echo "false";
}

【问题讨论】:

  • 我不明白你的意思

标签: php html mysql arrays insert


【解决方案1】:

您可以将其动态插入到您的Database,这将解决您的问题。 :D

  $roll_num = '111,222,333';
  $rollnum_arr = explode(",",$roll_num);

  for($x = 0; $x < count($rollnum_arr); $x++){
      $sql ="INSERT INTO eyfstb(specialnum)  VALUES(".$rollnum_arr[$x].")";
  }

  if($db->query($sql) == TRUE){
      echo "true";
  }else{
      echo "false";
  } 

【讨论】:

    【解决方案2】:

    explode 函数将您的数组转换为多个索引变量,所以关于您的问题,它应该是:

    $roll_num = '111,222,333';
    $rollnum = explode(",",$roll_num);
    
    $sql ="INSERT INTO eyfstb(specialnum)  VALUES('$rollnum[0]')";
    
    if($db->query($sql)== TRUE){
        echo "true";
    }else{
         echo "false";
    }
    

    如果您想插入所有这些,您可以将其作为 JSON 存储在您的表中,或者创建其他列。

    【讨论】:

    • 我想一次全部插入...有时数组可能更多的是 3、5 或 10。
    • 要解决您的问题,您需要使用loop 函数,以便您可以动态插入您的Database。请看我上面的回答。谢谢
    【解决方案3】:

    首先,您的 $roll_num 变量不是数组。 并且explode 函数会将您的字符串拆分为一个字符串,如下所示:https://www.php.net/manual/en/function.explode.php

    为此,您可以构建您的数组,其中包含您的值,例如:

    $roll_num = array('111', '222','333');
    

    并且由于循环而插入:

    for ($i = 0; $i < count($roll_num); $i++) {
    
        $sql = "INSERT INTO eyfstb(specialnum)  VALUES(" . $roll_num[$i] . ")";
        $db->query($sql);
        $db->execute();
    
    }
    

    它应该工作:)

    【讨论】:

      【解决方案4】:

      据我了解,您想为每个数组单元插入一个新行。为此,我建议:

      $roll_num = '111,222,333';
      $rollnum = explode(",", $roll_num);
      
      $sql = "INSERT INTO eyfstb(specialnum) VALUES('" . implode("'),('", $rollnum) . "')";
      

      这将产生以下 SQL:

      INSERT INTO eyfstb(specialnum) VALUES('111'),('222'),('333')
      

      而且会比循环和插入每次迭代更有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-30
        • 2018-12-21
        • 2013-07-09
        相关资源
        最近更新 更多