【问题标题】:How to add multiple row from arrays in database in php如何在php中从数据库中的数组中添加多行
【发布时间】:2017-08-30 22:28:54
【问题描述】:

我有四个数组 $V1、$V2、$V3、$V4,为此我执行了以下代码,但未插入数据:

$max_count = max(array(count($_POST['kw_coukw']), count($_POST['combin_kws']), count($_POST['combined_kws']), count($_POST['combine_kws_city'])));

for($cat1 = 0; $cat1 < $max_count; $cat1++) {

    if($cat1 <= count($_POST['kw_coukw'])){
        $V1 = $_POST['kw_coukw'][$cat1];
    }else{ 
        $V1 = 0; 
    }

    if($cat1 <= count($_POST['combin_kws'])){
        $V2 = $_POST['combin_kws'][$cat1];
    }else{ 
        $V2 = 0; 
    }

    if($cat1 <= count($_POST['combined_kws'])){
        $V3 = $_POST['combined_kws'][$cat1];
    }else{ 
        $V3 = 0; 
    }

    if($cat1 <= count($_POST['combine_kws_city'])){
        $V4 = $_POST['combine_kws_city'][$cat1];
    }else{ 
        $V4 = 0; 
    }

    $qry = "INSERT INTO seo_sentence_rl_pg_create_kw (seo_sent_pg_cre_id,kw_1_id,kw_124_id,kw_1234_id,kw_1234_city_id,customized_keyword,customized_title,description) VALUES ('".$_POST['pagenm']."','".$V1."','".$V2."','".$V3."','".$V4."','".$_POST['cuskeyword']."','".$_POST['custitle']."','".$_POST['description']."')";

}

【问题讨论】:

  • 这可能是因为您实际上并没有将您构建的查询发送到服务器执行!您使用的是什么数据库扩展? mysqli_PDO
  • 包含 SQL 查询的字符串不会得到神奇的处理
  • mysql_query($qry)
  • 这也不行
  • 每次在新代码中使用the mysql_ 数据库扩展this happens 时,它都已被弃用,并且已经存在多年,并且在 PHP7 中永远消失了。如果您只是学习 PHP,请花精力学习 PDOmysqli 数据库扩展和预处理语句。 Start here

标签: php mysql arrays database string


【解决方案1】:

您好,如果您想插入批量数据,请使用以下代码使用 PDO:

$sql_insert = "INSERT INTO seo_sentence_rl_pg_create_kw (seo_sent_pg_cre_id,kw_1_id,kw_124_id,kw_1234_id,kw_1234_city_id,customized_keyword,customized_title,description) VALUES (:seo_sent_pg_cre_id, :kw_1_id, :kw_124_id, :kw_1234_id, :kw_1234_city_id, :customized_keyword, :customized_title, :description)";


            //Prepare our statement using the SQL query.
            $statement = $pdo->prepare($sql_insert);


            //Bind our values to our parameters 

            for($cat1 = 0; $cat1 < $max_count; $cat1++) {

            if($cat1 < count($_POST['kw_coukw'])){
                $V1 = $_POST['kw_coukw'][$cat1];

                }else{ $V1 = 0; }

                if($cat1 < count($_POST['combin_kws'])){
                $V2 = $_POST['combin_kws'][$cat1];
                }else{ $V2 = 0; }

                if($cat1 < count($_POST['combined_kws'])){
                $V3 = $_POST['combined_kws'][$cat1];
                }else{ $V3 = 0; }

                if($cat1 < count($_POST['combine_kws_city'])){
                $V4 = $_POST['combine_kws_city'][$cat1];
                }else{ $V4 = 0; }

            $statement->bindValue(':seo_sent_pg_cre_id', $_POST['pagenm']);
            $statement->bindValue(':kw_1_id', $V2);
            $statement->bindValue(':kw_124_id', $V3);
            $statement->bindValue(':kw_1234_id', $V4);
            $statement->bindValue(':kw_1234_city_id', $V5);
            $statement->bindValue(':customized_keyword', $_POST['cuskeyword']);
            $statement->bindValue(':customized_title', $_POST['custitle']);
            $statement->bindValue(':description', $_POST['description']);
            $inserted = $statement->execute();
            }

【讨论】:

  • 在mysql中不行吗?
  • 如果你想使用批量插入,你想使用 mysqli 或 pdo。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-12
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
相关资源
最近更新 更多