$result = mysql_query("SELECT * FROM `deceased` WHERE `birthdate` = '{$birthmonth}'. "-" .'{$birthday}'. "-" .'{$birthyear}'");
答案 0 :(得分:1)
你不应该在字符串中使用点。 但更好的方法是避免将变量注入字符串并使用显式联系人:
$result = mysql_query("SELECT * FROM `deceased` WHERE `birthdate` = '" . $birthmonth . "-" . $birthday . "-" . $birthyear . "'");
答案 1 :(得分:0)
尝试在引号内连接变量,如下所示
$result = mysql_query("SELECT * FROM `deceased` WHERE `birthdate` = '".$birthmonth . "-" . $birthday . "-" . $birthyear."');
答案 2 :(得分:0)
来自MYSQL
documentation on the Date
type:
DATE类型用于具有日期部分但没有时间部分的值。 MySQL以'YYYY-MM-DD'格式检索并显示DATE值。支持的范围是'1000-01-01'到'9999-12-31'。
因此,如果您根据格式错误的日期进行搜索,那么您的查询很可能无法获得所需内容。你想要的是,以及正确格式化的PHP,是:
$result = mysql_query("SELECT * FROM `deceased` WHERE `birthdate` = '$birthyear-$birthmonth-$birthday'");