细节不存储到数据库中

时间:2016-06-17 21:55:12

标签: php mysql sql

我最近升级了我的服务器并进行了平滑过渡,但是我得到了一个“MySQL Erorr”并且我确定了什么不能正常运行。

此代码:

        $date = date("M jS");
        $articleTime = date("g:iA T");
        $articleTime = str_replace('EDT', 'EST', $articleTime);
        $ip = getenv("REMOTE_ADDR");        
        $insertYo = "INSERT INTO activity ( date, articleTime, action, icon, ip) VALUES ('$date', '$articleTime', '<strong><a href=\"/articles\">\Archives</a></strong> viewed on $date @', 'fa-archive', '$ip')";          
        mysql_query($insertYo) or die('MySQL Error.');

未正确插入。我的数据库设计如何为“活动”设置:

enter image description here

Database Design

我在这里做错了吗?我相信它可能与我的数据库有关,但布局的其他部分在该页面上没有此代码的情况下也能正常工作。

1 个答案:

答案 0 :(得分:2)

您的数据表有七列不可为空且没有默认字段值,但您的INSERT语句只指定了五列。您无法做到这一点,因为数据库需要知道要在其他两列中放入什么。将这些列添加到INSERT语句中,修改表以使这些列可以为空,或者为这些列提供默认值。

您使用的解决方案取决于应用程序的业务需求。例如,您需要处理的列是articleid和articleTitle。在您的应用程序环境中,是否有意义的活动与任何特定的文章ID无关?如果是,那么该列应该可以为空。

作为一个易于理解的真实世界类比,员工通常必须拥有EmployeeId,但他们不一定必须拥有HeadquartersDeskNumber。也许他们是一个有家庭办公室的流动营业员。