【问题标题】:AJAX php code inserting NULL and not input values to databaseAJAX php代码插入NULL而不是向数据库输入值
【发布时间】:2019-05-28 18:49:29
【问题描述】:

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

【问题讨论】:

标签: php jquery ajax database mysqli


【解决方案1】:

正常提交表单时,表单字段会放在$_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},

【讨论】:

  • 啊,原来是这样的!这是我第一次使用 AJAX。我不知道第一个参数应该使用与元素完全相同的名称。感谢您向我指出这一点 - 完全解决了问题 - 谢谢,非常感谢!
  • 我知道这是一个愚蠢的问题,但你认为在使用 AJAX 时会如何设置参数名称?
  • 我是 AJAX 新手,找不到适合我的问题的 AJAX 指南,所以我混合了一堆 AJAX 代码,只是基于这些代码。
猜你喜欢
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
相关资源
最近更新 更多