【发布时间】:2015-01-22 16:39:59
【问题描述】:
我需要将表单中的日期字段插入 mysql 数据库。如果用户没有输入日期,则应使用当前日期。我的代码是:
if ($_POST[date]==0)
{$ref_date=date('Y-d-m');}
else {$ref_date=$_POST[date];}
$L="insert into referral (ID,patient, Doctor,Date) values (default,$pat,$doc,'$ref_date')";
mysql_query($L) or die(mysql_error());
当我在表单中提交日期时它可以正常工作,但是当我将该字段留空时,它会输入 0000-00-00。
【问题讨论】:
-
您的代码包含 SQL 注入!切勿在 SQL 语句中使用变量。如果您需要在语句中使用参数,请使用准备语句和/或参数!
-
您的权利。我实际上正在切换到一种 pdo 形式,但是由于我不确定错误在哪里,所以我编写了这样的查询以确认问题不在我的实现中,然后我想如果我像这样发布它每个人都会理解查询,而不是我需要解释我的所有功能。使用 mysql_query 我可以回显我的函数并直接在 MySQL 中对其进行测试以查找错误。有没有办法使用参数做类似的事情?