0

你好。下面的代码有问题,但看不到任何问题。

我正在尝试在用户输入的日期内从约会表中获取所有约会并将它们显示在表格中。我收到语法错误。

我的mysql查询如下:

$result = mysql_query("SELECT * FROM appointment 
    WHERE Appointment_Date BETWEEN $fromDate AND $toDate 
    AND Practice_ID = '$prac' ORDER by Appointment_Time");
while ($row = mysql_fetch_array($result);
4

2 回答 2

0

您在这里缺少一个括号:

while ($row = mysql_fetch_array($result); // << 2 brackets needed at the end

而不是分号,您需要一个适当的 while 循环。

while(...)
{
    // do something
}
于 2013-02-14T15:42:28.070 回答
0

日期用单引号括起来,

$result = mysql_query("
        SELECT  * 
        FROM   appointment 
        WHERE  Appointment_Date BETWEEN '$fromDate' AND '$toDate' 
               AND Practice_ID = '$prac' 
        ORDER  BY Appointment_Time");

作为旁注,SQL Injection如果变量的值(s)来自外部,则查询很容易受到攻击。请看下面的文章,了解如何预防。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。

于 2013-02-14T15:38:05.173 回答