我有一个表格,该表格由来自一个数据库的MS Sql查询填充,该表格提供患者访问的值和这些访问产生的收入。我有一个复选框,填充相应的文本输入框,显示已支付访问。我的问题是如何使用MySQL和PHP添加/更新多行。有两个不同的数据库(MySQL和MS SQL)。
HTML表格。
<table>
<thead>
<tr>
<th>First Name / Last Name</th>
<th>Alias</th>
<th>Status</th>
<th class="amountDue">$00,000.00</th>
<th colspan="2" class="appliedAmount">$00,000.00<?th>
<th class="variance">$00,000.00</th>
<th>Complete</th>
</tr>
<tr>
<td><td>
<td><td>
<td><?php echo $patRow['VisitNum']; ?></td>
<td><?php echo $patRow['VisitName']; ?></td>
<td><?php echo $patRow['AmountDue']; ?></td>
<td><input type="checkbox"></td>
<td><input type="text" name="Amount[]"></td>
<!-- Invoice Populated from Database --!>
<td><select class="invoiceNumber">
<option>4565</option>
</select>
</tr>
</tr>
</table>
现在是PHP。
<?php
require('../assets/dbconnect.php');
$size_array = count($_POST['Amount']);
for ($i=0; $i<$size_array; $i++){
$query = 'INSERT INTO webportal.test (id, PSID, SysPatVisitID, AmountDue, Amount, InvoiceNum)'.
" VALUES ('', '".mysql_real_escape_string($_POST['PSID'][$i])."',
'".mysql_real_escape_string($_POST['SysPatVisitID'][$i])."'',
'".mysql_real_escape_string($_POST['AmountDue'][$i])."'',
'".mysql_real_escape_string($_POST['Amount'][$i])."'',
'".mysql_real_escape_string($_POST['InvoiceNum'][$i])."')
ON DUPLICATE KEY UPDATE content=VALUES(
'".mysql_real_escape_string($_POST['AmountDue'][$i])."'',
'".mysql_real_escape_string($_POST['Amount'][$i])."'',
'".mysql_real_escape_string($_POST['InvoiceNum'][$i])."''
";
$result = mysql_query($query) or die (mysql_error());
}
所以这就是我到目前为止,当我尝试插入我的数据库时,它只插入第一条记录而且我收到错误。最终我想用Jquery传递这些变量,但我只需要让PHP先工作。
答案 0 :(得分:0)
$query = 'INSERT INTO webportal.test (PSID, SysPatVisitID, AmountDue, Amount, InvoiceNum)'.
" VALUES ('".mysql_real_escape_string($_POST['PSID'][$i])."',
'".mysql_real_escape_string($_POST['SysPatVisitID'][$i])."',
'".mysql_real_escape_string($_POST['AmountDue'][$i])."',
'".mysql_real_escape_string($_POST['Amount'][$i])."',
'".mysql_real_escape_string($_POST['InvoiceNum'][$i]).")
ON DUPLICATE KEY UPDATE content=VALUES(
'".mysql_real_escape_string($_POST['AmountDue'][$i])."',
'".mysql_real_escape_string($_POST['Amount'][$i])."',
'".mysql_real_escape_string($_POST['InvoiceNum'][$i])."'
";
'
。 '". <stuff> ."''
。你只需要一个结束时间。VALUES
的结束括号。id
,请不要将其包含在您的查询中。此外,出于某种原因存在错误消息。学习理解它们将大大提高您的调试能力。如果您不理解错误,请在MySQL.com上查找。