整数未插入MySQL数据库错误

时间:2020-06-06 20:47:09

标签: php mysql

我有一个PHP脚本,该脚本应该将来自select函数的数据保存到数据库中。我用switch case功能完成了整个过程。数据实际上应该保存,但是由于不可理解的原因,这不会发生。我的脚本如下:

 if(isset($_POST['acc_type'])){
  $select = $_POST['acc_type'];
  switch ($select) {
   case '2':
    $sql = "INSERT INTO userdata (accounttype) VALUES (2)";
    break;
   case '3':
    $sql = "INSERT INTO userdata (accounttype) VALUES (3)";
    break;
   default:
    $sql = "INSERT INTO userdata (accounttype) VALUES (1)";
    echo "nothing";
    break;
   }
 }

我已经测试了它是否归因于输入(通过设置echo)。但这已经完成了。因此,这一定是由于传输到数据库造成的。

应该有3个对我的登录很重要的选择。数据应另存为1、2或3(取决于指定的内容)。

1 个答案:

答案 0 :(得分:1)

首先,您不需要这些重复的内容。

$select = ($_POST['acc_type'] == 2 || $_POST['acc_type'] == 3) ? $_POST['acc_type'] : 1;
$sql = sprintf("INSERT INTO userdata (accounttype) VALUES (%d)", $select);

一个更好的解决方案是适当地准备语句,但是我不知道您打算如何执行查询(您未提供任何代码)。仅此而已,您实际上没有在数据库中插入任何内容,只需将查询设置为变量。

相关问题