带有日期的MySQL错误

时间:2012-07-10 10:05:50

标签: php mysql

MySQL告诉我语法错误,但我不知道在哪里。任何人都可以帮助我吗?

$dt = $xml->item->parameter[2];
$to = date('Y-m-d H:i:s',strtotime($dt));
$query = sprintf("select * from me,val where group_id=%s AND m_id= me_id AND time_stamp <= $to",mysql_real_escape_string($gid));
$result= mysql_query($query) or die(mysql_error());

while ($row=mysql_fetch_array($result)){

解析日期有效。提前谢谢。

  

错误:您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以便在第1行'23:59:59'附近使用正确的语法

2 个答案:

答案 0 :(得分:3)

您必须将日期($to)放在单引号中:

"select * from me,val where group_id=%s AND m_id= me_id AND time_stamp <= '$to'"

为了避免这些(以及许多其他)问题,您可能需要考虑使用预准备语句(请查看PDOmysqli)而不是旧的(并且已弃用) mysql_* - 功能

答案 1 :(得分:1)

$query = sprintf("select * from me,val where group_id=%s AND m_id= me_id AND time_stamp <= '$to'",mysql_real_escape_string($gid));

$query = sprintf("select * from me,val where group_id=%s AND m_id= me_id AND time_stamp <= %s",mysql_real_escape_string($gid),$to);

您应将date括在单引号中