【问题标题】:SQL Error inccorect integer and notice - undefined indexSQL Error inccorect integer and notice - undefined index
【发布时间】:2019-02-07 17:04:12
【问题描述】:

我有一个问题,我不知道为什么。 当我尝试保存表单时,我得到了这个:

注意:未定义索引:id_prod in C:\wamp64\www\mgn\addc.php 上线 9 错误:不正确的整数值:第 1 行的列 'id_prod' 的''

    $adds['id_prod'] = $cnx->real_escape_string($_POST["id_prod"]);

    $sql = "INSERT INTO `zzz` (ssn, date, id_prod) VALUES ('". $adds['ssn']. "', '". $adds['date']. "', '". $adds['id_prod']. "')";

<body>
   <form action="addc.php">
         <table>
           <tr>
             <td>SSN:</td>

           <td><input type="text" name="ssn"></td>
             </select>
             </td>
           </tr>
           <tr>
             <td>Date</td>
             <td><input type= "date" value="<?php echo date('Y-m-d'); ?>" name="date"  /></td>
           </tr>
           <tr>
             <td>Prod</td>
     <td><select name="combo" id="combo">
             </select>
             </td>

           </tr>
           <tr>
            <td><input type="submit" id="addc"></td>
          </tr>
        </table>
      </form>
</body>

【问题讨论】:

标签: php sql


【解决方案1】:

首先,您在此处提供的示例代码中没有名称为id_prod 的任何字段,因此该变量不存在。您需要重命名或添加此缺失字段。

然后,您需要像这样将method="post" 添加到您的&lt;form&gt; 标签中:

<form action="addc.php" method="post">

没有它,它将使用GET 发送数据,您需要使用$_GET['id_prod'] 处理它们。

您可以在提交按钮中添加名称并在使用$_POST 变量之前测试该变量是否存在,以防止使用未定义的变量,如下所示:

<!-- HTML -->
<input type="submit" id="addc" name="submit">

<?php
if (isset($_POST['submit'])) {
    // your code
}
?>

这将解决通知Undefined index: id_prod 和之后的错误。

【讨论】:

  • 我已经尝试过 isset,但是:解析错误:语法错误,第 2 行 C:\wamp64\www\mgn\addc.php 中的意外 '{'
  • 抱歉,错字,缺少) ;)
  • 您没有任何名称为 id_prod 的字段,因此它不存在。您需要在 $_POST 变量中输入正确的名称或使用 id_prod 重命名字段名称
猜你喜欢
  • 2015-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 2014-09-09
  • 2018-12-13
  • 2018-01-05
  • 2011-11-26
相关资源
最近更新 更多