我一直在尝试编写一个程序,将数组值插入数据库表中列的多行。经过大量的试验,我无法得到我想要的正确输出。
我的数据库表看起来像这样
id | values |
1 | |
2 | |
4 | |
5 | |
6 | |
我将第二列值作为数组,我想在第二列中输入这些值。
输出应如下所示: -
id | values |
1 | 2 |
2 | 3 |
4 | 7 |
5 | 9 |
6 | 10 |
所以,我有两个数组值$id
和$values
...所以,我想在列的每一行填充$values
以查找每个$id
个值
注意:$id
已填入数据库
答案 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);
}