如何将数组值插入数据库表中的多列行?

时间:2012-08-28 07:27:43

标签: php arrays database

我一直在尝试编写一个程序,将数组值插入数据库表中列的多行。经过大量的试验,我无法得到我想要的正确输出。

我的数据库表看起来像这样

    id   | values  |
    1    |         |
    2    |         |
    4    |         |
    5    |         |
    6    |         |

我将第二列值作为数组,我想在第二列中输入这些值。

输出应如下所示: -

    id   | values  |
    1    |     2   |
    2    |     3   |
    4    |     7   |
    5    |     9   |
    6    |     10  |

所以,我有两个数组值$id$values ...所以,我想在列的每一行填充$values以查找每个$id个值

注意:$id已填入数据库

4 个答案:

答案 0 :(得分:1)

我假设您有一个包含id值的数组。

您可以尝试这样的事情:

foreach($XArray as $key => $value){

$sql = "UPDATE TABLENEAME ".
       "SET value = $value ".
       "WHERE id = $key" ;

$retval = mysql_query( $sql, $conn );
}

我没有检查过代码,只是一个样本。

关于更新的问题:

$count=sizeof($value);
for($counter=0;$counter<$count;$counter++){

    $sql = "UPDATE TABLENEAME ".
           "SET value = $value[$counter]".
           "WHERE id = $id[$counter]" ;

    $retval = mysql_query( $sql, $conn ) or die ("Error in query: $sql");
    }

答案 1 :(得分:0)

foreach($yourArray as $key => $value){
   // <INSERT QUERY LINE HERE > ( you have to insert $value insite 'values' )
}

答案 2 :(得分:0)

试试这个:

foreach ( $array as $key => $value )
{
     $query = "INSERT INTO table
                  SET values = $value,
                  id = $key
                  ON DUPLICATE KEY UPDATE values = $value";
}

我不知道您使用的是哪种数据库,此示例适用于MySQL。

而且我也不知道你如何在数据库中插入信息(简单的mysql_query,pdo,frameworks,...),所以你应该使用你需要的函数并传递那个查询字符串,如果需要的话,不要忘记正确清理阵列。

编辑:我还假设id是主键或唯一索引

答案 3 :(得分:0)

遍历循环中的数组值,并在循环的每次迭代中生成并执行查询。示例代码看起来像这样,根据您的变量和需要进行更改。

foreach ($array as $id => $values) {
    $query = "INSERT INTO table (id ,values) VALUES ($id , $values)";
    $result = mysql_query($query);
}