Php 添加新的HTML行&;插入数据库
我有以下js文件:Php 添加新的HTML行&;插入数据库,php,mysql,sql,Php,Mysql,Sql,我有以下js文件: function displayResult() { var table=document.getElementById("addTable"); var row=table.insertRow(2); var cell1=row.insertCell(0); var cell2=row.insertCell(1); cell1.innerHTML="<input type='text' name='expense[]' styl
function displayResult() {
var table=document.getElementById("addTable");
var row=table.insertRow(2);
var cell1=row.insertCell(0);
var cell2=row.insertCell(1);
cell1.innerHTML="<input type='text' name='expense[]' style='padding:2px;' size='80'>";
cell2.innerHTML="<div align='center'><input type='text' name='expensecost[]' style='padding:2px;' size='6'></div>";
}
它添加了taskid和refid,但对于费用和费用,它说:
| Array[0] | 0
| Array[1] | 0
| Array[2] | 0
当我尝试添加3行时会发生这种情况。这是什么原因?我该如何修复它?我是否需要另一个唯一的阵列?不确定 我更喜欢将元素编号添加到HTML输出中
<input type='text' name='expense[0]' style='padding:2px;' size='80'>
我更愿意将元素号添加到HTML输出中
<input type='text' name='expense[0]' style='padding:2px;' size='80'>
尝试将SQL更新为类似以下内容
$sql="INSERT into b_report_expense2 (TASK_ID,EXPENSE_DESC,EXPENSE_COST,REF)
VALUES (
'" . mysql_real_escape_string($_POST['taskid']) . "',
'" . mysql_real_escape_string($_POST['expense'][$index]) . "',
'" . mysql_real_escape_string($_POST['expensecost'][$index]) . "',
'" . mysql_real_escape_string($_POST['refid']) . "')";
您最好使用SQL,然后尝试将SQL更新为
$sql="INSERT into b_report_expense2 (TASK_ID,EXPENSE_DESC,EXPENSE_COST,REF)
VALUES (
'" . mysql_real_escape_string($_POST['taskid']) . "',
'" . mysql_real_escape_string($_POST['expense'][$index]) . "',
'" . mysql_real_escape_string($_POST['expensecost'][$index]) . "',
'" . mysql_real_escape_string($_POST['refid']) . "')";
您最好使用和您的输入周围还有一个额外的区域,不需要添加索引键。但是,SQL行不能作为taskid、expense、expensecode和refid使用,因为它不是html输出的常量。但我想refid是int。expense和expensecost可能是任何可能导致错误解释的内容。taskid、expense、expensecode和refid不应该用单引号括起来吗?这取决于数据库表使用的字段,而不是表名。我指的是$\u POST['taskid',而不是$\u POST[taskid]在值中,您的输入周围有一个额外的区域,无需添加索引键。但是,SQL行不能作为taskid、expense、expensecode和refid使用,因为它不是html输出的常量。但我想refid是int。expense和expensecost可能是任何可能导致错误解释的内容。taskid、expense、expensecode和refid不应该用单引号括起来吗?这取决于用于数据库表的字段,而不是表名。我指的是值中的$\u POST['taskid',而不是$\u POST[taskid]
$sql="INSERT into b_report_expense2 (TASK_ID,EXPENSE_DESC,EXPENSE_COST,REF) VALUES('".$_POST['taskid']."','".$_POST['expense'][$index]."','".$_POST['expensecost'][$index]."','".$_POST['refid']."')";
$sql="INSERT into b_report_expense2 (TASK_ID,EXPENSE_DESC,EXPENSE_COST,REF)
VALUES (
'" . mysql_real_escape_string($_POST['taskid']) . "',
'" . mysql_real_escape_string($_POST['expense'][$index]) . "',
'" . mysql_real_escape_string($_POST['expensecost'][$index]) . "',
'" . mysql_real_escape_string($_POST['refid']) . "')";