php - SELECT WHERE 变量不起作用

标签 php mysql jqgrid jqgrid-php

我正在使用 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/

相关文章:

php - 使用 JSON 和 PHP 更新 MySQL 数据库

php - 如何在同一个 php 脚本中销毁两个不同的 session ?

php - 年月最大值 Mysql/PHP

jquery - JQGrid 寻呼机显示 "1 of Nan"?

javascript - 根据javascript中的条件格式化单元格背景颜色

jquery - jqGrid 格式化程序和可排序列 - 不排序

php - 在 CentOS 6 上,模型->保存函数强制将整数参数绑定(bind)到 varchar 列

php - 两个登录用户之间的实时响应

mysql - VB.net与MYSQL5连接

mysql - MySQL中无默认值Vs NULL Vs 0作为文本和整型字段的默认值