PHP,PDO,的foreach
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()
有人能解决这个问题?
我*不知道库您正在使用的,但在foreach之前,你必须使用同一种mysql_fetch_array()等同于SQL结果资源转换为数组,你可以比上工作。错误的原因是因为$ res包含结果资源,而不是结果本身。
是的! ...你的$ res是一个虚假的价值。 NULL或FALSE。
if ($res)
{
for ($res as $row)
{
$_SESSION['admin_id'] = $row['id'];
}
return $_SESSION['admin_id'];
}
你可以试试这个
if (is_array($res))
{
foreach ($res as $row)
{
// store
}
}
我们检查,如果数组不为空。这种方式更清洁。
我相信问题是不同的。你认为他已经将结果资源转换为数组吗? – 2012-02-28 08:25:11
是的,我认为。因为现在我们看不到他是否将它转换为数组。如果只有我们可以在它之前看到其他代码。 – Bert 2012-02-28 08:29:04
PDO ::查询()返回一个PDOStatement对象的对象,或失败
var_dump($res);
什么是输出错误的?
在查询调用之后试试'print_r($ res)'。查询失败可能会导致无法获得结果。 – 2012-02-28 08:21:58
@mahi你可以添加处理::查询源到你的问题? – 2012-02-28 08:32:51