在同一行php中添加值

时间:2015-07-16 13:09:05

标签: php mysql

我尝试使用循环向表中添加值,但是值被引入下一行(例如,在第一列中 - 第一个值,在第二列中 - 下一个值,但是增加的行,所以我的代码有什么问题?

for ($i = 1; $i < $nbcol; $i++) {      


mysql_query("INSERT INTO $table1 ($col[$i]) VALUES ('".$_POST['name'.$i]."')"); 
};
mysql_close($dbconnection);

2 个答案:

答案 0 :(得分:1)

最后,我成功了。 这是代码:

<?php
include 'connect.php';
include 'variable.php';
$query = "Select * from $table1";
$result = mysql_query($query);
$nbcol = mysql_num_fields($result);
mysql_query("INSERT INTO $table1 ($col[1]) VALUES ('".$_POST['name1']."')"); 
for ( $i = 2; $i < $nbcol; $i++ ) {
$colname = mysql_field_name($result, $i);
mysql_query("UPDATE $table1 SET $colname ='".$_POST['name'.$i]."' WHERE $col[0] = '".$_POST['name0']."' ");
}
header("Location: index.php");
mysql_close($dbconnection);
?>

并在php文件中作为输入,

<td><input name="name0" type="text" value="<?php echo $num_rows+1; ?>"></td>

插入以下行,例如有30行($ num_rows),代码将在第一个字段中插入30 + 1(31),这是插入值的行

谢谢@Drew Pierce的观点,首先是为第二个字段插入,然后为另一个字段进行更新。

答案 1 :(得分:0)

尝试使用mysql_error错误日志并查看问题所在,如果需要进一步的帮助,请报告问题所在。

for ($i = 1; $i < $nbcol; $i++) {      


mysql_query("INSERT INTO $table1 ($col[$i]) VALUES ('".$_POST['name'.$i]."')") or die(mysql_error()); 
};
mysql_close($dbconnection);

但老实说,你不应该增加你的专栏。他们应该保持一致吗?那你为什么要说

$col[$i]

只需在此处添加列名称,然后如果单调增加,则遍历您的帖子数据