使用PHP PDO查询中传递的变量

时间:2015-04-28 15:35:25

标签: php mysql variables pdo

在问题的帮助下,我要求我从这段代码中得到一些时间:

$uid = $_SESSION['uid'];
$sth = $db->prepare("SELECT groupid  FROM user_groups WHERE userid=?");
$sth->execute(array($uid));
$sth->execute();

$results = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
$results = implode(",",$resultas);
echo $results;

这样的输出:11,13。谢谢你的帮助:)

现在我想在另一个pdo-Query中使用这个变量,我试试这个:

$stmt = $db->query('SELECT * FROM menu WHERE gruppe=0 OR gruppe in (?'
    . ') ORDER BY reihe, parentId, name ');
$stmt->execute(array($results));

但是没有结果......但我试试这个

$stmt = $db->query('SELECT * FROM menu WHERE gruppe=0 OR gruppe in (11,13'
    . ') ORDER BY reihe, parentId, name ');
$stmt->execute();

这不是一样的吗?你能请求给我另一个暗示吗?

1 个答案:

答案 0 :(得分:2)

您应该在一个查询中执行此操作,否则您需要单独绑定所有值:

SELECT * FROM menu
  WHERE gruppe=0 OR gruppe IN (SELECT groupid FROM user_groups WHERE userid=?)
  ORDER BY reihe, parentId, name