Я новичок в использовании PDO и подготовленное заявление, так что, если я делаю это явно не так, пожалуйста, дайте мне знать :)Что случилось с моей подготовленной операцией SQL?
У меня есть следующий код:
$stmt = $this->_dbh->prepare('(SELECT folder_id, "y" AS "has_access", access_type FROM groups_users AS gu LEFT JOIN folders_groups AS fg ON gu.group_id = fg.group_id WHERE user_id = :user_id)
UNION
(SELECT folder_id, has_access, access_type FROM folders_users WHERE user_id = :user_id AND has_access = :yes)');
$stmt->bindValue(':user_id', $this->_user_id, PDO::PARAM_INT);
$stmt->bindValue(':yes', self::YES, PDO::PARAM_STR);
$stmt->execute();
$folders = $stmt->fetch(PDO::FETCH_ASSOC);
и если я делаю:
print_r($this->_dbh->errorInfo());
print_r($folders);
папки $ ЛОЖЬ и мой errorInfo() возвращает:
Array ([0] => 00000 [1] => [2] =>)
Что из моего понимания этого означает, что ошибок нет. Я попытался заменить мои: user_id и: да со значениями, и я не получаю ошибок. Результат пуст, но мой вызов fetch по-прежнему возвращает false (который documentation говорит, что он потерпел неудачу), когда я ожидаю пустой массив.
Спасибо за любую помощь :)
Gosh darnit! Он возвращает 0, что является правильным. Спасибо за помощь, я буду принимать раз 8-минутный знак! Вид неловко ... хе-хе ... – Gazillion