我最近升级了我的服务器并进行了平滑过渡,但是我得到了一个“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.');
未正确插入。我的数据库设计如何为“活动”设置:
我在这里做错了吗?我相信它可能与我的数据库有关,但布局的其他部分在该页面上没有此代码的情况下也能正常工作。
答案 0 :(得分:2)
您的数据表有七列不可为空且没有默认字段值,但您的INSERT语句只指定了五列。您无法做到这一点,因为数据库需要知道要在其他两列中放入什么。将这些列添加到INSERT语句中,修改表以使这些列可以为空,或者为这些列提供默认值。
您使用的解决方案取决于应用程序的业务需求。例如,您需要处理的列是articleid和articleTitle。在您的应用程序环境中,是否有意义的活动与任何特定的文章ID无关?如果是,那么该列应该可以为空。
作为一个易于理解的真实世界类比,员工通常必须拥有EmployeeId,但他们不一定必须拥有HeadquartersDeskNumber。也许他们是一个有家庭办公室的流动营业员。