SQL语句不起作用

时间:2011-05-25 13:19:26

标签: php sql

我需要从eventID等于$ idnumber的数据库中选择变量'duration'。我使用下面的查询,但没有运气。任何人都可以看到任何缺陷。

$duration = mysql_query("SELECT `bs_reservations`.`duration`FROM bs_reservations WHERE (`bs_reservations`.`eventID` '$idnumber')");

4 个答案:

答案 0 :(得分:4)

小变化:

$duration = mysql_query("SELECT `bs_reservations`.`duration`FROM bs_reservations WHERE (`bs_reservations`.`eventID` = " . $idnumber . ")");

更新:

$data = mysql_fetch_array($duration );

尝试打印这个$ data ......

答案 1 :(得分:3)

我认为在比较最后的2个ID时,你错过了=

$duration = mysql_query("SELECT `bs_reservations`.`duration`FROM bs_reservations WHERE (`bs_reservations`.`eventID` = '$idnumber')");

答案 2 :(得分:1)

试试这个:

SELECT `bs_reservations`.`duration`
  FROM `bs_reservations`
WHERE `bs_reservations`.`eventID` =  '{$idnumber}'

我在from之前添加了空格,在idnumber之前添加了=,在where之后添加了一个反引号,并且好的措施还添加了{和{ {1}}虽然它们并不是真的需要,但是很好的做法。

答案 3 :(得分:0)

虽然明显的问题是缺少运算符“=”(@Dave IMO最能充分回答),但是一旦正确执行了MySql查询,您可能难以使用数据。有人会认为你可以把你的变量“$ duration”并使用它。不对。 $ duration现在是一种资源,您需要从中提取信息。如果您知道只返回一条数据,请在查询后考虑以下代码:

list($duration)=mysql_fetch_array($duration);

这当然会将$ duration重置为查询检索到的值,并且不再可用作mysql资源,但它可以获得您正在寻找的内容。

如果这不是你的问题,我的答案将与@Dave

相同

编辑:对不起,在再次回答问题和答案后,我的答案如下:

$duration=mysql_query("select `duration` from `bs_reservations` where `eventID`='$idnumber'");