PHP问题选择SQL语句

时间:2018-01-05 05:49:50

标签: php sql select

我有以下php select sql语句,我无法让它工作。请帮忙:

$sql = "SELECT student_email, student_id, grades_id FROM student_table WHERE email_alert = 1 AND class_grade >= '$var' AND student_id in (
  select student_id
  from student_alerts
  where CURRENT_TIMESTAMP < student_grad_date)" ;

在此SQL $var = 85中,student_id是student_table中的主键和student_alerts表中的外键。 student_id也引用student_table中的主键。我相信错误可能在CURRENT_TIMESTAMP附近,其目的是比较今天的日期是否超过学生的毕业日期,或者它可能是我无法捕捉到的语法中的内容。

谢谢!

2 个答案:

答案 0 :(得分:1)

您正在使用提供时间戳的CURRENT_TIMESTAMP,而student_grad_date只是一个日期。

您可以使用CURDATE(),它也只提供日期

答案 1 :(得分:0)

得爱PHP。在@Shadow Fiend提示后,我做了一些研究,正确的语法是:

$ sql =“SELECT student_email,student_id,grades_id FROM student_table WHERE email_alert = 1 AND class_grade&gt; = '”。 mysql_real_escape_string($ var)。“' AND student_id in(   选择student_id   来自student_alerts   其中CURRENT_TIMESTAMP&lt; student_grad_date)“;