【问题标题】:Insert array value into MySQL by PHP [duplicate]通过PHP将数组值插入MySQL [重复]
【发布时间】:2015-06-12 00:36:46
【问题描述】:

如何使用循环将此数组插入数据库?

Array ( 
[0] => 1 
[1] => 0 
[2] => 0 
) 

我尝试这样:

$chimp= Array ( 
    [0] => 1 
    [1] => 0 
    [2] => 0 
    ) 

foreach ($reponse as  $value) {
        $values= mysql_real_escape_string($value);
                foreach ($chimp as $valuech  ) {
                    $valuesch= mysql_real_escape_string($valuech);

     $query = mysql_query("INSERT INTO reponses (nom_reponse,id_question,id_categorie,correct2) VALUES ('$values','$last_id','$categorie','$valuesch')") 
        or die(mysql_error());


                        }
                        }

我需要在每一行中插入$reponse$chimp 数据的步骤吗?

【问题讨论】:

  • 你当前的代码会发生什么?
  • 对于初学者,您不显示 $response 数组...建议使用 mysqli 而不是 deprecated mysql ,然后使用 mysqli prepare
  • 我可以为响应插入第一个 foreach ;但我无法为此数组插入第二个值。问题是如何将值 0 0 1 插入数据库感谢重播

标签: php mysql arrays


【解决方案1】:

您当前循环不正确,您的插入将执行 9 次。而您希望它执行 3 次。

当前执行示例:

http://sandbox.onlinephpfunctions.com/code/ef1821fb0fe7dcc96a3f48e9ec8453 8cdfb5db62

您需要使用键来配对两个数组值,您可以使用 for 循环或在 foreach 中使用 key http://php.net/manual/en/control-structures.foreach.php

<?php
$reponse = array (1, 0 ,0);
$chimp = array (1, 0, 0);
foreach ($reponse as $key => $value) {
    $values= mysql_real_escape_string($value);
    $valuesch= mysql_real_escape_string($chimp[$key]);
    $query = mysql_query("INSERT INTO reponses (nom_reponse,id_question,id_categorie,correct2) VALUES ('$values','$last_id','$categorie','$valuesch')") 
        or die(mysql_error());
    }
}

我不知道$last_id$categorie 来自哪里,所以请确保这些值是正确的。

下面是循环现在的处理方式。 http://sandbox.onlinephpfunctions.com/code/1b8af87984c348a326a64e2d453ddcdf17b65b5f

我没有接触 SQL,我认为你的列名是正确的。

【讨论】:

  • 非常感谢先生重播这是一个很好的例子,可以帮助我理解并且对我有用:)
猜你喜欢
  • 2018-01-24
  • 1970-01-01
  • 2020-07-18
  • 2017-10-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-25
  • 2019-12-05
  • 2017-02-10
相关资源
最近更新 更多