powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Кодировка PHP PDO Ms SQL Server
5 сообщений из 5, страница 1 из 1
Кодировка PHP PDO Ms SQL Server
    #38422982
Mr. Abdu Jan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем....

Начинаю изучать PDO с MS SQL Server.

Подключаю в БД

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 $userDB = 'loginDB';
    $passwordDB = 'passwordDB';

    try {
      $DBH = new PDO('mssql:dbname=spr_bank;host=srv-back', $userDB, $passwordDB);
      $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

    }
    catch(PDOException $e) {
        echo "<h1 style='font-weight:bold; color:red;'>Error. Can not connect to Database</h1>";
        file_put_contents('PDOErrors.log', date("Y-m-d H:i:s")." - ".$e->getMessage()."\n", FILE_APPEND);
        exit();
    }




теперь, нужно вывести данные из базы.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$query = $DBH->prepare(" SELECT name FROM spr_sotrudnik WHERE login = :login AND password = :password");

        $login = (isset($_POST['login']) === true) ? $_POST['login'] : '' ; // ? : shorthand for if else
        $password = (isset($_POST['password']) === true) ? md5($_POST['password']) : '' ; // ? : shorthand for if else

        $query->bindValue(':login', $login);
        $query->bindValue(':password', $password);

        try {
            // run the query
            $query->execute();

            $rows = $query->fetchAll(PDO::FETCH_ASSOC);
            echo '<pre>', print_r($rows, true),'</pre>';
        }
        catch (PDOException $e){
            echo $e->getMessage(), $e->getFile(), $e->getLine();
        }



У меня выводится следующая ошибка: SQLSTATE[HY000]: General error: 10007 Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. [10007] (severity 5) [(null)]D:\www\sklad_new\inc\auth.php47

а когда пишу запрос таким образом:
Код: php
1.
$query = $DBH->prepare(" SELECT CONVERT(NVARCHAR(10),name) AS s FROM spr_sotrudnik WHERE login = :login AND password = :password");



ошибок нет, но показывает ??????

Посоветуйте что-нибудь.

P.S. php файл сохранен в формате ютф8.
безопасен ли такой вывод данных из базы? (против SQL инъекций)

Спасибо.
...
Рейтинг: 0 / 0
Кодировка PHP PDO Ms SQL Server
    #38423015
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
версия PHP и PDO?
...
Рейтинг: 0 / 0
Кодировка PHP PDO Ms SQL Server
    #38423038
Mr. Abdu Jan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,

PHP Version 5.2.10
pdo_mssql MSSQL_70
...
Рейтинг: 0 / 0
Кодировка PHP PDO Ms SQL Server
    #38423075
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Кодировка PHP PDO Ms SQL Server
    #38423913
Mr. Abdu Jan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,

спасибо за ссылку.

извлекал в папку с php, но все равно та же ошибка.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Кодировка PHP PDO Ms SQL Server
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]