Intereting Posts
Каков правильный формат соли blowfish с использованием склепа PHP? Как использовать Angular 2 в приложении PHP? Отключение предупреждений об отставке в файле PHP.ini WAMP Как вы объясните результат для нового \ DateTime ('0000-00-00 00:00:00')? Альтернативные источники аутентификации в CakePHP (LDAP) В PHP, как я могу использовать класс DOMDocument для замены атрибута src = тега IMG? Как указать SMTP-сервер в PHPMailer? Настройка проекта symfony для нескольких доменов Laravel 5.3: настройка часовых поясов на основе местоположения пользователей Аутентификация токена с использованием PHP для мобильных устройств PHP-PEAR require_once ('DB.php'); Как интегрировать аутентификацию Aadhaar Card Api для проверки номера Aadhaar в PHP? Как создать основную книгу / учетную запись с помощью PHP Mysql Неправильно ли использовать параметр GET (в URL) без значения? Вставка значений массива вставляет один идентификатор в базу данных mysql с использованием php и PDO

Проблема с запросом MSSQL в PHP и запрос текстовых данных

Я пытаюсь выполнить запрос в PHP для подключения и извлечения данных из базы данных MSSQL EXPRESS (2008 R2). Но я получаю сообщение об ошибке, когда я извлекаю данные из базы данных из ntext.

Ошибка;

Данные Юникода в данных сравнения или только в Юникоде не могут быть отправлены клиентам с использованием DB-библиотеки (например, ISQL) или ODBC версии 3.7 или более ранней. (серьезность 16) в

и мой скрипт

$myServer = ".\SQLEXPRESS"; $myUser = "sa"; $myPass = "blablabla"; $myDB = "test"; //connection to the database $dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myServer"); //select a database to work with $selected = mssql_select_db($myDB, $dbhandle) or die("Couldn't open database $myDB"); //declare the SQL statement that will query the database $query = "SELECT * FROM dbo.table WHERE query='2'"; //$query .= "FROM dbo.table "; //$query .= "WHERE query='2'"; //execute the SQL query and return records $result = mssql_query($query); $numRows = mssql_num_rows($result); echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>"; //display the results while($row = mssql_fetch_array($result)) { echo "<li>" . $row["query"]. "</li>"; } //close the connection mssql_close($dbhandle); 

любая помощь по этому поводу оценивается ….

Благодаря ….

Related of "Проблема с запросом MSSQL в PHP и запрос текстовых данных"

Пара параметров из комментариев на странице руководства mssql_query()

  • SELECT CAST(field1 AS TEXT) AS field1 FROM table
  • Chang версия в /etc/freetds.conf от 4.2 до 8.0 (если PHP-сервер – это * nix)
  • Избегайте запросов SELECT *

Еще много, если вы ntext на этой странице.

Вот некоторые вещи, которые вам могут понадобиться:

  1. Установите поддержку mssql для Debian (Lenny / Squeeze):

    apt-get install php5-sybase

  2. Когда вы получили это сообщение об ошибке: «Данные Unicode в данных сортировки или данных nicode не могут быть отправлены клиентам с использованием DB-библиотеки (например, ISQL) или ODBC версии 3.7 или более ранней версии».

    В /etc/freetds/freetds.conf добавьте эти две строки (последние две):

     [global] ;tds version = 4.2 tds version = 8.0 client charset = UTF-8 

    Вы также можете редактировать «charset» в php.ini (но вам не нужно, если вы делали это ранее на freetds.conf):; Укажите клиентский набор символов ..; Если пуст или не установлен клиентская кодировка с freetds.comf; Это используется только при компиляции с помощью FreeTDS

     mssql.charset = "UTF-8" 
  3. Используйте типы столбцов nchar / nvarchar / ntext, если вам нужна поддержка Unicode.

В моем случае мне нужно было установить:

 sudo apt-get install php-sybase 

И измените файл /etc/freetds.conf:

 ... [global] # TDS protocol version ; tds version = 4.2 tds version = 8.0 client charset = UTF-8 ...