首页 > 解决方案 > 如何让我的代码写入数据库

问题描述

我要做的就是写入数据库,我相信连接没有建立。但是我之前已经将代码写入数据库,这就是我过去连接到它的方式。现在我不确定是否在我的 java 脚本代码中我没有正确获取值。
由于我正在处理 INTS,因此我决定执行一个设置值的存储过程。在处理 JSON 时,我仍然是初学者,我认为这也可能是问题的一部分。有任何想法吗?

var ProcessManager;
var Validator;

function submit(){
    var formHash = new Hash();
    formHash.collectDate = $('itemDate').value;
    formHash.txtMain = $('txtMain').value;
//radiobuttons
$$('input[name=iMenuChoiceID').each(function(el){
        if(el.getProperty('checked'))
            formHash.menuChoiceID = el.value;
    });
    //txtboxes
    formHash.txtMain = $('txtMain').value;
    formHash.txtSide = $('txtSide').value;
    formHas.txtAlternative = $('txtAlternative').value;

    menuProcessManager.setOptions({
        data: {
            'encFormData' : JSON.encode(formhash)
        }
    }).send();
}

function clearMenu(){

    alert("The form has been resetted.");
    $('menuMsg').set('html', '');
    $('txtMain').value = '';
    $('txtSide').value= '';
    $('txtAlternative').value = '';
    $('input[name=iMenuChoiceID').each(function(el){
        if(el.value ==1){
            el.setProperty('checked', true);
        });
    }
    menuValidator.reset();
});

/**Add window.addevent ***/

window.addEvent('domready', function(){

    /*site validators*/
    Validator = new Form.Validator.Inline('Form', {
        onFormValidate : function(passed, form, event) {
            if (passed) {
                event.preventDefault();
                submit();
            }
        }
    });

    /*JSON Request Managers*/
    ProcessManager = new Request.JSON({
        method:'post',
        async: false,
        url: 'includes/file/Process.php',
        data: {
            'encFormData' : ''
        },
        onRequest : function(){
            $('Submit').disabled = true;
            $('Submit').set('value', 'Processing...');
            $('successMsg').set('html', '');
            $('successMsg').setStyle("display", "none");
        },
        onSuccess : function(responseText){
            var returnVals = new Hash(response);
            $('Submit').set('value', 'Submit');
            $('Submit').disabled = false;
            var results = responseText.split("/");
            if (results[0] == 'Success') {
                $('successMsg').set('html', 'Success! );
                menuClear();
            }else {
                alert(responseText);
            }
            return true;
}

    });
});

进程.php

<?php
session_start ();


// decodedFormData
$decFD = json_decode ( $_POST ['encFormData'] );

try{
    $dbh = new PDO ( 'db', '', '' );

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->beginTransaction ();
//stored procedure just declares the columns with their paramters since I have a couple of INTs
    $stmt = $dbh( "exec uspWebAdder ?, ?, ?, ?, ? ");
    $stmt->bindParam ( 1, $decFD->ChoiceID, PDO::PARAM_INT );
    $stmt->bindParam ( 2, $_SESSION ['userID'], PDO::PARAM_INT );
    $stmt->bindParam ( 3, $decFD->txtMain, PDO::PARAM_STR );
    $stmt->bindParam ( 4, $decFD->txtSide, PDO::PARAM_STR );
    $stmt->bindParam ( 5, $decFD->txtAlternative, PDO::PARAM_STR );

    $dbh = null;

} catch ( PDOException $e ) {
    $errMsg = "There was a database error:<br>" . $e->getFile () . ' (' . $e->getLine () . ')<br>' . $e->getMessage ();
    $errMsg .= "<br><br>SQL : " . $sql;
    echo $errMsg;
    die ();
}
echo "Success"
?>

标签: phpsql-server

解决方案


推荐阅读