在问题的帮助下,我要求我从这段代码中得到一些时间:
$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();
这不是一样的吗?你能请求给我另一个暗示吗?
答案 0 :(得分:2)
您应该在一个查询中执行此操作,否则您需要单独绑定所有值:
SELECT * FROM menu
WHERE gruppe=0 OR gruppe IN (SELECT groupid FROM user_groups WHERE userid=?)
ORDER BY reihe, parentId, name