2012-05-07 4 views
0


で「アレイ」と表示されますが、私は私のデータベースに、私のデータを送信する際に、アレイが表示されますされます私はmysqlの使用「説明」と「数量」欄...
は... 以下はこれが私のINSERTクエリ..ですMySQLのデータは、いくつかの配列のコーディングをしている..私は私のPHPのコーディングについてお聞きしたい<br> I'amをテーブルの列

$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> 

I'am ..
しかし、私は本当にこのために誰かから任意の助けを必要と...
ありがとうございました。..

+0

'のvar_dump($ _ POST)でクエリに入れているすべての変数のために

$var = mysql_real_escape_string($var); 

を行う'あなたを教えてください。 –

+0

次に、配列を文字列にキャストします。配列を文字列にキャストすると、配列にキャストされます。なぜそれが起こっているのか理解してみてください。 – Corbin

+0

挿入クエリを表示します。 – Norse

答えて

0

あなたの$ _POSTには何が含まれているのかわかりません。しかし、私はあなたがこの

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

EDITを必要とすると仮定します。 単語「アレイ」のときに表示される

$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]')"; 
+0

@ dlnGd0nGそれは動作しません。それでも私のデータベースには「配列」の結果が表示されていました。 – Syida

+0

あなたの質問とフォームを挿入してください(ヒント:質問の下の編集をクリックしてください) – dInGd0nG

+0

@ dlnGd0nG私は既にそれを変更しましたが、今は何も表示されませんでした。ドロップダウンメニューで選択されたアイテムの説明と、入力された価格、数量、金額もデータベースに表示されませんでした。 – Syida

0

としてあなたはフォームメソッド

<form method="post"> 

、最後にINSERTクエリに指定する必要がありますPHPが配列を文字列としてキャストしようとしています。
フィールドはArrayとして表示されますが、何らかの方法で処理する必要があります。アプリケーションのロジックに依存し、適切な文字列に変換します。

質問はmysqlとは関係ありません。

また、SQL文字列を書式設定する必要があります。それがなぜ起こるか非常に少なくとも、あなたが引用符

関連する問題