我最近升级了我的服务器并实现了平稳过渡,但是我收到了“MySQL 错误”,并且我确定了到底是什么无法正常运行。
这段代码:
$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.');
插入不正确。我的数据库设计如何为“事件”设置是:
我在这里做错了什么吗?我相信它也可能与我的数据库有关,但是布局的其他部分在该页面上没有此代码的情况下也可以工作。
最佳答案
您的数据表有七列不可为空且没有默认字段值,但您的 INSERT 语句仅指定五列。您不能这样做,因为数据库需要知道在其他两列中放入什么内容。将这些列添加到您的 INSERT 语句中,修改表以使这些列可为空,或者为这些列提供默认值。
您使用哪种解决方案取决于应用程序的业务需求。例如,您需要处理的列是articleid和articleTitle。在您的应用程序上下文中,事件不与任何特定文章 ID 关联是否有意义?如果是,则该列应设为可为空。
作为一个易于理解的现实世界的类比,员工通常必须有一个 EmployeeId,但他们不一定必须有一个HeadquartersDeskNumber。也许他们是一个有家庭办公室的流动销售员。
关于php - 详细信息未存储到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37890923/