Как сделать вывод данных с условием из MS SQL Server 2005 через PDO?

Привет всем,

Столкнулся с такой проблемой. Нужно вывести данные из базы с помощью PDO. Есть пользовательский класс с функциями, которые выводят данные.

public function select($sql, $array = array(), $fetchMode = PDO::FETCH_ASSOC)
        {
            //try... if not catch exception
            try{
              $sth = $this->DBH_->prepare($sql);

              foreach ($array as $key => $value) {
                $sth->bindValue("$key", $value);                    // bind parameters - avoids SQL injection
              }

              // run the query
              $sth->execute();
              return $sth->fetchAll($fetchMode);
            }
            catch(PDOException $e) {
                echo "<p class='error_msg'>Ошибка. Свяжитесь с программистами.</p>";
                file_put_contents('errors.log', date("Y-m-d H:i:s")." - ".$e->getMessage().". File:".$e->getFile().". Line: ".$e->getLine()."\n", FILE_APPEND);
                exit();
            }

        }


Когда использую запрос с условием (строка-кириллица) не выводит результат.
$authArr = $DBH->select("   SELECT
                                        id_tip_tovar
                                    FROM
                                        skladskiy_uchet.dbo.spr_tip_tovar
                                    WHERE
                                        tip_tovar = N'Тип товар 1'");


В чем может быть проблема?
Спасибо....
  • Вопрос задан
  • 3052 просмотра
Пригласить эксперта
Ответы на вопрос 2
@pihel
Sql, Oracle, pl/sql, BI, ETL, php, olap

Разные кодировки приложения и БД? Почему еще не используется bindValue, если есть возможность, а подставляется прямо в запрос параметр?

Ответ написан
@Alcospb

А этот SQL запрос срабатывает при прямом обращение к базе?

Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы