我正在使用 jqGrid PHP 处理一个表,并且尝试使用 WHERE
部分的变量将我的 select 语句设置为 SELECT
。我有以下代码:
$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'";
感谢您的帮助!
最佳答案
很多人都会遇到这种情况,但是经过3个小时的修补,我发现了问题所在。
由于 $groupid 基于 session 变量,并且 php 脚本不调用 session_start()
,因此 session 变量不可用。
我在脚本顶部调用了 session_start()
,我的第一个解决方案完美运行。
抱歉回答我自己!
关于php - SELECT WHERE 变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22212954/