-1

对于我正在测试的用户,他们的 org_id 列值为“student_life”

我试图让这个函数显示任何有 student_life 列 = 1 的行。(所以是的,有一个列 student_life 是一个布尔值,然后我还有一个名为 org_id 的单独列,在这种情况下具有值 student_life)

我很确定存在语法错误,但我无法弄清楚。

function org_id_users_table() 
{
$org_id = mysql_real_escape_string($_POST["org_id"]);

$sql = $this->query("SELECT * FROM ".DBTBLE." WHERE '$org_id' = '1'");
$result = $sql['sql'];
$num_rows = $sql['num_rows'];
$this->create_table($result, $num_rows);
}

(当我用 student_life 替换 "$sql=..." 行中的 $org_id 时,代码有效。

4

3 回答 3

1

您引用了列名,这使 MySQL 认为它是一个字符串。

$sql = $this->query("SELECT * FROM ".DBTBLE." WHERE $org_id = '1'");

编辑:

根据您的评论,我认为您真正想要的是:

$sql = $this->query("SELECT * FROM ".DBTBLE." WHERE org_id = '$org_id'");
于 2013-04-19T00:51:36.923 回答
0

更改引号。

$sql = $this->query("SELECT * FROM ".DBTBLE." WHERE `$org_id` = '1'");

PS为什么我不应该在 PHP 中使用 mysql_* 函数?

于 2013-04-19T00:51:36.230 回答
0

这是从哪里来的?$_POST["org_id"]

您在发布该页面的页面上有表格吗?还是您只是想从数据库中获取它?如果是这样,您是否不需要另一个查询来首先获得它?

$row_MyFirstQuery['org_id']

否则如果是$_POST["org_id"],不就是单引号而不是双引号吗?$_POST['org_id']

于 2014-07-15T14:34:13.513 回答