SELECT WHERE变量不起作用

时间:2014-03-06 01:22:02

标签: php mysql jqgrid jqgrid-php

我正在使用jqGrid PHP处理一个表,我正在尝试使用SELECT部分的变量将我的select语句设置为WHERE。我有以下代码:

$groupid = isset($_SESSION['group']) ? $_SESSION['group'] : 1;
$query = "SELECT MEMBER_ID, FirstName, LastName, Email, Street1, City, State, Zip, Phone, MemberSince, ExpDate, group_GROUP_ID, membership_MEM_ID FROM member WHERE group_GROUP_ID = $groupid";
$grid->SelectCommand = $query;

在这种情况下,$groupid为9,当使用9运行手动查询时,会返回4个结果。

上述方法不起作用,但当设置$query等于以下(硬编码)时,表格会按预期返回4个结果。

$query = "SELECT MEMBER_ID, FirstName, LastName, Email, Street1, City, State, Zip, Phone, MemberSince, ExpDate, group_GROUP_ID, membership_MEM_ID FROM member WHERE group_GROUP_ID = 9";

我已经尝试了所有不同的方法来连接它,但没有一个工作。以下是我尝试过的(缩短版):

"... WHERE group_GROUP_ID = " . $groupid . "";

"... WHERE group_GROUP_ID = '" . $groupid . "'";

"... WHERE group_GROUP_ID = '$groupid'";

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

这种情况发生在很多人身上,但经过3个小时的修修补补后,我发现了问题。

由于$ groupid基于会话变量,并且php脚本没有调用session_start(),因此会话变量不可用。

我在脚本顶部调用session_start(),我的第一个解决方案完美无缺。

很抱歉回答自己!