javascript - 无法使用 JS、PHP 向数据库插入值

标签 javascript php jquery mysql

我在向数据库添加记录时遇到问题。更具体地说,静态值已正确添加到表中,但通过查看文本字段中的值,它们是空的。表中为0。我检查了 SQL 查询,发现某个地方有错误,因为从文本字段获取的值是空的。

下面我将展示与此案例相关的所有功能,希望您能发现我正在尝试解决的错误。

包含 SQL 查询的函数。

function updateGuestSet($no_of_keys, $no_of_fobs) {
    $today = date('Y-m-d H:i:s');
    $keys = array();

    try {
        $transaction = new Transaction();
        $query = 'INSERT INTO `keysets` (`noKeys`, `noFobs`, `masterSet`, `createdate`, `createby`, `keys_idkey`)VALUES("' .$no_of_keys. '","' .$no_of_fobs . '","0","' . $today . '","Jarek","2")';
        echo($query);
        die;
        $keys = QueryExecutor::execute(new SqlQuery($query));
        $transaction -> commit();
    } catch(Exception $e) {
        echo $e;
    }
    return $keys;
}

这是用于显示/添加/删除字段集的函数

function show_add_guestFields(){
    $('#guestSet').append('<div class="fields"><label for="keys">No. of keys</label><input type="number" name="keys" class="keys" id="keys" onkeypress="return isNumberKey(event);" style="margin: 0px 0px 0px 65px;"/><br/><br/><label for="fobs">No. of fobs</label><input type="number" name="fobs" class="fobs" id="fobs" onkeypress="return isNumberKey(event);" style="margin: 0px 0px 0px 68px;"/><br/><br/><button onClick="valid();">Submit</button><button class="remove" style="margin:0px 0px 10px 0px;">Cancel</button></div>');

    $('#guestSet').on('click', '.remove', function(){
    $(this).parent().remove();
    return false;

});
}

与PHP代码相关的函数

function updateGuestSet(){
    var no_of_keys = $('#keys').val();
    var no_of_fobs = $('#fobs').val();


    $.ajax({
                type: 'POST',
                url: 'propertyId.php',
                data:{
                        update:'keySet',
                        no_of_keys:no_of_keys,
                        no_of_fobs:no_of_fobs
                    },
                async: true,
                dataType:'json',
                success: function(){

                }
        });
}

最后,这是 PHP 代码;

if($_POST['update'] == 'keySet'){
    $no_of_keys = $_POST['keys'];
    $no_of_fobs = $_POST['fobs'];
    //echo("test");

    $insert_keySet = updateGuestSet($no_of_keys, $no_of_fobs);


}

这是我回显 sql 查询时得到的结果

INSERT INTO keysets (noKeys, noFobs, masterSet, createdate, createby, keys_idkey)VALUES("","","0","2014-11-18 17:37:37","Jarek","2")

感谢所有帮助!!

最佳答案

所需的 POST 键:

  • 按键
  • key 扣

实际 POST 键:

  • no_of_keys
  • no_of_fobs

只要让它们相同即可。

关于javascript - 无法使用 JS、PHP 向数据库插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27005125/

相关文章:

php - 从属于今天的 mysql 表记录中选择

php - javascript 不通过 php 代码发送数据

php - jQuery 循环上一个/下一个按钮图像

javascript - JQuery .prop() 和 .attr() setter 不适用于对话框 polyfill

javascript - 无法将 undefined 转换为 JavaScript 中的对象

javascript - 聚焦于 HTML 页面的图像

php - 选择最后一对不同的

jquery - jquery .focus() 不工作的原因有哪些?

javascript - Try/catch block 和未处理的 promise 异常

javascript - 使用 Ajax 传递解析 JSON 值时出错