使用PHP PDO查询中传递的变量
我问了几分钟的问题,从以下代码中得到了帮助:使用PHP PDO查询中传递的变量,php,mysql,variables,pdo,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(",",
$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查询中使用此变量,并尝试以下操作:
$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();
这不一样吗?关于这一点,您能给我另一个提示吗?您应该在一个查询中执行此操作,因为您需要单独绑定所有值,否则:
SELECT * FROM menu
WHERE gruppe=0 OR gruppe IN (SELECT groupid FROM user_groups WHERE userid=?)
ORDER BY reihe, parentId, name
gruppe
是一个保留字。英雄联盟grin@Fred-一点德语是不会有坏处的:)@Rizier123 Si signoreRR@Rizier123很明显,你从来没有学过;-)请注意,如果您需要在两个单独的查询中执行此操作,则它只是一个副本。我投票决定结束,因为一开始这是一个无法阅读的混乱局面:-)