我尝试使用循环向表中添加值,但是值被引入下一行(例如,在第一列中 - 第一个值,在第二列中 - 下一个值,但是增加的行,所以我的代码有什么问题?
for ($i = 1; $i < $nbcol; $i++) {
mysql_query("INSERT INTO $table1 ($col[$i]) VALUES ('".$_POST['name'.$i]."')");
};
mysql_close($dbconnection);
答案 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]
只需在此处添加列名称,然后如果单调增加,则遍历您的帖子数据