2

我正在使用将数据添加到数据库中。首先,我从帖子中获取值,然后将其插入表中。问题是总共有 7 个值,但只添加了 5 个值,其中 2 个没有插入到表中。这是我的代码

if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] )) {
        $degree_title = $_POST['degree_title'];
        $degree_year = $_POST['degree_year'];
        $uni_name = $_POST['uni_name'];
        $degree_level = $_POST['degree_level'];
        $major_sub = $_POST['major_sub'];



        $run = mysql_query("INSERT INTO `career_fourudb`.`tffeck_employee_edu` (`id`, `employee_id`, `degree`, `year`, `degree_level`, `major_degree`, `uni`) 
        VALUES (NULL, $eme_uid, $degree_title, $degree_year, $degree_level, $major_sub, $uni_name)");


    }

我呼应所有的值,所有的值都来了,所以为什么它们都没有插入到表中。感谢

4

3 回答 3

1

尝试:

$run = mysql_query("INSERT INTO `career_fourudb`.`tffeck_employee_edu` (`id`, `employee_id`, `degree`, `year`, `degree_level`, `major_degree`, `uni`) 
    VALUES (NULL, '$eme_uid', '$degree_title', '$degree_year', '$degree_level', '$major_sub', '$uni_name')");

我强烈推荐:

1)不要使用 mysql_ 它已弃用,使用 mysqli_*

2) 在 SQL 语句中使用之前清理 _POST 中的所有值。

于 2013-07-27T10:42:01.740 回答
0

我的猜测是,$degree_title$uni_name没有被插入,因为它们是 varchars。在这种情况下,您必须在这些值周围加上引号。

Mysql 是一种“宽容”,因为当在 sql 语句中使用与列的实际类型相关的不正确类型时,它不会引发错误。

尝试:

$run = mysql_query("INSERT INTO `career_fourudb`.`tffeck_employee_edu` (`id`, `employee_id`, `degree`, `year`, `degree_level`, `major_degree`, `uni`)
      VALUES (NULL, $eme_uid, '$degree_title', $degree_year, $degree_level, $major_sub, '$uni_name')");

如前所述,id 不必包含在插入语句中(如果 id-column 是自动增量的),您应该真正学习 mysqli 或 PDO。

于 2013-07-27T11:21:50.280 回答
0

如果id是自动增量,那么您不需要插入它。

尝试这个

     $run = mysql_query("INSERT INTO `career_fourudb`.`tffeck_employee_edu` (`employee_id`, `degree`, `year`, `degree_level`, `major_degree`, `uni`) 
    VALUES ($eme_uid, $degree_title, $degree_year, $degree_level, $major_sub, $uni_name)");
于 2013-07-27T10:41:26.530 回答