代码:
public static function selectlogin($sq)
{
$db_handler = self::handler();
$res = $db_handler->query($sq);
foreach ($res as $row)
{
$_SESSION['admin_id'] = $row['id'];
}
return $_SESSION['admin_id'];
}
错误消息
Warning: Invalid argument supplied for foreach()
有人可以解决这个问题吗?
答案 0 :(得分:0)
我*不知道您正在使用的库,但在foreach之前,您必须使用相同类型的mysql_fetch_array()来将SQL结果资源转换为您可以工作的数组。出错的原因是 $ res 包含结果资源,而不是结果本身。
答案 1 :(得分:0)
是的! ...你的$ res是一个假值。 NULL或FALSE。
if ($res)
{
for ($res as $row)
{
$_SESSION['admin_id'] = $row['id'];
}
return $_SESSION['admin_id'];
}
答案 2 :(得分:0)
if (is_array($res))
{
foreach ($res as $row)
{
// store
}
}
我们检查数组是否为空。这种方式更清洁。
答案 3 :(得分:0)
PDO :: query()返回PDOStatement对象,或者失败时返回FALSE
var_dump($res);
输出是什么?