При получении данных из MS SQL sqlsrv данные “varchar” длиннее 16-17 символов не отдаются

90
13 января 2021, 23:40
/* строка запроса */
$query = "SELECT OwnerName FROM pMark";
$stmt = sqlsrv_query( $conn, $query);
if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); }
/* заполнение массива */    
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC )) {
    $result[] = $row; 
}
/* вывод */
echo '<pre>';
   print_r($result);
echo '</pre>';

OwnerName - это колонка с фамилиями Varchar. При заполнении массива всегда останавливается на самой длинной фамилии (опытным путем вычислил, что более 16 символов). Насколько я понял в sqlsrv_query нужно указать параметры "$params", но я не смог разобраться с синтаксисом и не нашел примера.

Answer 1

При работе с MSSQL желательно в параметрах подключения к БД указывать одним из параметров кодировку данных:

"CharacterSet" => "UTF-8"
READ ALSO
Утечка памяти phpQuery. Как исправить?

Утечка памяти phpQuery. Как исправить?

Есть функция, которая, используя библиотеку phpQuery, парсит данные со страницы на сайтеДанные на странице обновляются регулярно, поэтому функция...

109
Не отправляется форма HTML+PHP

Не отправляется форма HTML+PHP

Никак не могу разобраться в проблеме отправки формы: нажимаю Save и не отправляется

89
PHP выделение блоков из текста по ключу

PHP выделение блоков из текста по ключу

Доброе время суток! Требуется помощь, есть данные которые приходят из формы, пример данных:

79