PHP, PDO, Еогеасп - PullRequest
       8

PHP, PDO, Еогеасп

0 голосов
/ 28 февраля 2012

Код:

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()

Кто-нибудь может это исправить?

Ответы [ 4 ]

0 голосов
/ 28 февраля 2012

PDO :: query () возвращает объект PDOStatement или FALSE при ошибке

var_dump($res); что выводится?

0 голосов
/ 28 февраля 2012

Да!... Ваш $ res является ложным значением.NULL или FALSE.

if ($res)
{
  for ($res as $row)
  {
    $_SESSION['admin_id'] = $row['id'];
  }
  return $_SESSION['admin_id'];
}
0 голосов
/ 28 февраля 2012

вы можете попробовать это

if (is_array($res))
{
     foreach ($res as $row)
    {
     // store
    }
}

Проверяем, не является ли массив пустым. и таким образом его чище.

0 голосов
/ 28 февраля 2012

Я * не знаю о библиотеке , которую вы используете, но перед foreach вы должны использовать такой же эквивалент mysql_fetch_array () преобразовать Result SQL Resource в массив, который вы можете использовать. Причина ошибки заключается в том, что $ res содержит ресурс результатов, а не сам результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...