Php 无法使用表单在数据库中插入值

Php 无法使用表单在数据库中插入值,php,html,mysql,database,phpmyadmin,Php,Html,Mysql,Database,Phpmyadmin,我有一个表单,用户可以注册其他帐户。在我使用varchar将列date的数据类型更改为date数据类型之前,它工作得很好,所以我将其更改为date。更改数据类型后,注册停止工作。我没有收到任何错误,但是当我尝试查看记录时,我看不到新帐户 这是我的表格: 添加帐户 身份证件 名字 姓 电子邮件 用户名 暗语 街道地址 城镇/郊区 城市 联系 性别 选择性别 男性的 女的 用户级别 选择访问级别 受雇者 管理员 经理 人力资源 日期 您需要从输入日期转换接收日期: 看 此外,正如@Syscall所

我有一个表单,用户可以注册其他帐户。在我使用varchar将列date的数据类型更改为date数据类型之前,它工作得很好,所以我将其更改为date。更改数据类型后,注册停止工作。我没有收到任何错误,但是当我尝试查看记录时,我看不到新帐户

这是我的表格:

添加帐户 身份证件 名字 姓 电子邮件 用户名 暗语 街道地址 城镇/郊区 城市 联系 性别 选择性别 男性的 女的 用户级别 选择访问级别 受雇者 管理员 经理 人力资源 日期
您需要从输入日期转换接收日期:

此外,正如@Syscall所说,您还应该注意对SQL注入开放的查询。要防止出现这种情况,应使用PDO语句,例如:

$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');

$stmt->execute(array('name' => $name));

如其他人所述,您的日期格式可能不正确。您需要考虑针对sql注入保护您的查询

为了修复日期问题,请尝试更换:

$date=$_POST['date'];
与:


sql的日期格式描述为YYYY-MM-DD,表示四位数的年、两位数的月、两位数的日

您可能必须转换日期,因为您已将其更改为日期类型日期。日期的格式很重要。假设您的数据库是y/m/d,表单是d/m/y。您应该检查它们是否都使用相同的格式警告,您的代码对SQL注入非常开放。请尽快查看并使用参数化查询。@Tomm我不确定您的意思,我在上面添加了我的db架构。另外,这里是我使用@Syscall的格式,我最终会更改它,现在我必须弄清楚这一点。非常感谢。您可能希望获得实际的错误输出。启用PHP错误报告,并在查询后添加echo mysqli_error$conn。另外,这里有混合变量,是$conn还是$bd作为连接句柄?你的连接文件里有什么?您尝试使用其中一个进行查询,然后关闭另一个。注意。非常感谢。
$date=$_POST['date'];
$date=date('Y-m-d', strtotime($_POST['date']));