phpmyadmin插入DOB

时间:2011-03-22 20:43:26

标签: mysql

所以,我试图在数据库中插入数据。我可以让一切工作,除了出生那天,应该来自POST的选择/选项形式。我从这里得到了一个答案,我被告知要检查变量的值并将数据库字段更改为日期。我已经完成了测试并且数据类型已经是日期,但是当我尝试在数据库中插入时,我仍然得到所有的O.有没有人知道我还缺什么?

$dob = $_POST['year'] . '-' . $_POST['month'] . '-' .$_POST['day']; 

echo $dob; shows the value of the val like 1977 12 12

$insert = " INSERT INTO `vergilioDB`.`vergilioDB` (dob) VALUES ($dob)";

我不想问这个问题,但我找不到解决办法...... 非常感谢你!

2 个答案:

答案 0 :(得分:4)

您需要围绕值引用,否则您的值将被解释为算术表达式而不是包含日期的字符串。

$sql = "INSERT INTO vergilioDB.vergilioDB (dob) VALUES ('$dob')";

此外,您应该保护自己免受SQL注入 - 您的代码不安全。

例如,您可以考虑使用intval来确保用户输入的字符串是整数。或者,您可以考虑使用PDO和预备语句。

答案 1 :(得分:1)

您必须将变量放在引号

VALUES ('$dob')";