首页 > 解决方案 > AJAX php代码插入NULL而不是向数据库输入值

问题描述

我正在尝试将 2 个值可互换地插入到我的数据库中 - 我的 Select 元素name=toctquantsel和我的 Input 元素name=toctquant。当我的 Select 元素被隐藏时,我的 Input 的值将被插入到数据库中,反之亦然。我能够单独使用我的 php 代码来实现,但是在使用 AJAX 执行此操作时,我收到错误消息“ Uncaught mysqli_sql_exception: Column 'toctquant' cannot be null”。同样,我在不使用 AJAX 时没有收到此错误。我该如何解决这个问题,以便我可以将我的值插入到数据库中,而不必将我的数据库列更改为 NULL?

标签: phpjqueryajaxdatabasemysqli

解决方案


当您正常提交表单时,表单字段将放入$_POST['toctquantsel] and$_POST['toctquant']`。在您的 AJAX 调用中,您有

data: {selectValueBox: selectValue, inputValueBox: inputValue},

当您使用 AJAX 时,发送给 PHP 的参数名称来自data:对象,而不是表单字段的名称。所以这些字段将在$_POST['selectValueBox']和中$_POST['inputValueBox']。要使您的 AJAX 代码与服务器上的相同 PHP 代码一起工作,您需要将其更改为:

data: {toctquantsel: selectValue, toctquant: inputValue},

推荐阅读