php mysql(INSERT QUERY)

user3669821

私は、簡単な支払いフォームを持っており、それが含まれているvoucher_idcustomer_idamountpayment_typetransaction_typedate

Transaction_typeは、引き出しと預金です。

データベーステーブルに「amount」列を含めるべきではありません。クレジットとデビットの列があります。この場合、クレジット列へ金額の取引場合INSERTdebit金額を記入したいと思いますtype ="Withdraws"INSERTTransaction_type ="Deposits"

INSERTテーブルデータを表示すると、次のようになります。

列数が行1の値数と一致しません

なぜなら、テーブルには借方と貸方の列があるからです。しかし、私のフォームには1つの列があり、名前は金額です。このクエリを挿入して質問を整理するにはどうすればよいですか。

<?php

// save data if form is submitted
    if(isset($_POST['submitted'])){

        // catch data
        $voucher_numebr = $_POST['voucher_numebr'];
        $member_id = $_POST['member_id'];
        $amount = $_POST['amount'];
        $acc_type = $_POST['acc_type'];
        $payment_type = $_POST['payment_type'];
        $discription = $_POST['discription'];
        $created = date("Y-m-d H:i:s");

        // $balance = $_POST['balance'];

        $tranaction_type = $_POST['tranaction_type'];
        $balance="NOT DEFINE";

            //insert  to the tbl_customer_account


            if($tranaction_type == "Withdrawls."){
                //echo "1";
                $sql ='INSERT INTO tbl_customer_account VALUES(NULL,"'.$voucher_numebr.'","'.$member_id.'","'.$amount.'","'.$acc_type.'","'.$payment_type.'","'.$discription.'","'.$created.'","'.$tranaction_type.'","'.$balance.'")';

            }
            else{
                $sql ='INSERT INTO tbl_customer_account VALUES(NULL,"'.$voucher_numebr.'","'.$member_id.'","'.$amount.'","'.$acc_type.'","'.$payment_type.'","'.$discription.'","'.$created.'")';

            }

        //else{




        //}


        mysql_query($sql, $conn) or die(mysql_error());
        echo 'form submitted'; 
        echo '<br />';
        echo mysql_affected_rows(); die();

    }



?>
shmosel

各列に値を指定していないため、更新する列を指定する必要があります。これは、すべての列を更新する場合でも良い習慣であるため、テーブルの構造に対する将来の変更(列の追加や移動など)について心配する必要はありません。

テーブル構造が含まれていないため、列名を推測する必要があります。

        if($tranaction_type == "Withdrawls."){
            //echo "1";
            $sql ='INSERT INTO tbl_customer_account (some_field, voucher_number, member_id, debits, account_type, payment_type, description, created, transaction_type, balance) VALUES(NULL,"'.$voucher_numebr.'","'.$member_id.'","'.$amount.'","'.$acc_type.'","'.$payment_type.'","'.$discription.'","'.$created.'","'.$tranaction_type.'","'.$balance.'")';

        }
        else{
            $sql ='INSERT INTO tbl_customer_account (some_field, voucher_number, member_id, credits, account_type, payment_type, description, created) VALUES(NULL,"'.$voucher_numebr.'","'.$member_id.'","'.$amount.'","'.$acc_type.'","'.$payment_type.'","'.$discription.'","'.$created.'")';

        }

あなたが除外transaction_typebalance、預金をする理由があると思いますか?

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事