【问题标题】:SELECT WHERE variable not workingSELECT WHERE 变量不起作用
【发布时间】:2014-03-06 01:22:02
【问题描述】:

我正在使用 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'";

感谢您的帮助!

【问题讨论】:

  • 所以你做了var_dump($query) 来看看你真正构建了什么? $groupid 你认为应该是什么?

标签: php mysql jqgrid jqgrid-php


【解决方案1】:

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

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

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

很抱歉回答我自己!

【讨论】:

    猜你喜欢
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多