0


我想问一下我的php编码..我
正在做一些数组编码但是当我提交我的数据时,在我的数据库中会在'description'和'qty'列显示一个数组..
我使用mysql ..下面是我的数组编码..

$item = array(
'item_description' => '',
'price' => '',
'qty' => '',
'amount' => '',
);
foreach ($item as $key => $value){
$item_description = $_POST['item_description'][$key];
$price = $_POST['price'][$key];
$qty = $_POST['qty'][$key];
$amount = $_POST['amount'][$key];}
}

这是我的插入查询。

$sql1="INSERT INTO payment_item (payment_id, payment_item_id, item_description, price, qty, amount)
VALUES
('$last_insert_payment_id','NULL','$_POST[item_description]','$_POST[price]','$_POST[qty]','$_POST[amount]')";

这是我的表格:

<form>
<h1>Payment Item</h1>
Payment ID :<input id="payment_id" name="payment_id" type="text"><br>
<input type="button" value="Add Row" onClick="addRow('tableID')"/>
<input type="button" value="Delete Row" onClick="deleteRow('tableID')"/>
<table class="table" bgcolor="#CCCCCC">
<thead>
<tr>
<td></td>
<td><center>Item Description</center></td>
<td><center>Price (RM)</center></td>
<td><center>Month</center></td>
<td><center>Amount (RM)</center></td>
</tr>
</thead>
<tbody id="tableID">
<tr>
<td><input type="checkbox" name="chk"></td>
<td>
<select name="item_description">
    <option value="deposit">Deposit</option>
    <option value="rental">Rental</option>
    <option value="stamp">Stamp Duty</option>
    <option value="process">Process Fee</option>
    <option value="ap">AP</option>
</select>
</td>
<td><input id="price" name="price" type="text"></td>
<td><input id="month" name="qty" type="text"></td>
<td><input id="amount" name="amount" type="text"></td>
</tr>
</tbody>
</table>
<input name="submit" type="submit" value="Submit">
<input name="reset" type="reset" value="Reset">
</form>

我很抱歉我的英语不好..
但我真的需要有人为此提供帮助..
谢谢..

4

2 回答 2

1

当 PHP 试图将数组转换为字符串时,会出现一个单词 'Array'。
因此,对于出现的字段,Array您必须以某种方式对其进行处理,这取决于您的应用程序逻辑,将您拥有的任何数组转换为适当的字符串。

这个问题与mysql无关。

还请记住,您必须格式化 SQL 字符串。至少做

$var = mysql_real_escape_string($var);

对于您要放入查询的每个变量,并将其单引号括在查询中。

于 2012-05-07T08:39:38.797 回答
0

我不知道您的 $_POST 包含什么。但我假设你需要这个

<?php 
$item = array(
   'item_description' => '',
   'price' => '',
   'qty' => '',
   'amount' => '',
);
foreach ($item as $key => &$value)
{
    $value = $_POST[$key];
}
?>

编辑:您必须指定表单方法

<form method="post">

最后是 INSERT 查询

$sql1="INSERT INTO payment_item (payment_id, payment_item_id, item_description, price,qty, amount) VALUES ('$last_insert_payment_id','NULL','$item[item_description]','$item[price]','$item[qty]','$item[amount]')";
于 2012-05-07T07:42:23.660 回答