0

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

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

    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

4 回答 4

1

试试这个 :

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 是主键或唯一索引

于 2012-08-28T07:35:46.130 回答
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");
    }
于 2012-08-28T07:36:39.873 回答
0
foreach($yourArray as $key => $value){
   // <INSERT QUERY LINE HERE > ( you have to insert $value insite 'values' )
}
于 2012-08-28T07:31:57.263 回答
0

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

foreach ($array as $id => $values) {
    $query = "INSERT INTO table (id ,values) VALUES ($id , $values)";
    $result = mysql_query($query);
}
于 2012-08-28T07:35:59.713 回答