powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Правильно составить запрос php и mssql
25 сообщений из 31, страница 1 из 2
Правильно составить запрос php и mssql
    #38339269
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется запрос в php, возвращающий значение поля Items у определенного логина. Данный запрос работает только для одного аккаунта (то есть нельзя в цикле пройтись по всей таблице).

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
mssql_query("
	declare @vault varbinary(1920); 
	set @vault=(SELECT Items FROM warehouse WHERE login='123456');
	print @vault;
");
	
	$val = substr(mssql_get_last_message(), 2);
	echo $val; 



Необходим запрос вида:

Код: php
1.
2.
3.
4.
5.
6.
$result = mssql_query("SELECT Items FROM warehouse");	
	
	while ($arr = mssql_fetch_assoc($result)) 
	{
		echo $arr['Items'];
	}


Но из-за того, что поле Items бинарной, то выходят кракозябли во втором запросе.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339285
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНо из-за того, что поле Items бинарной,
а, простите, ЧТО вы хотите увидеть?
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339296
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow, в первом запросе выводится то, что надо FFFFFF....F, во втором запросе уже ??.? знаки вопросы + кракозябли.
Напоминаю, первый запрос не подходит мне, т.к. нельзя пройтись в цикле по всей таблице.
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339304
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339319
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow, о благодарствую, что-то не додумался. Можно ли в запросе проделать подобные манипуляции?
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339335
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если в ms sql есть подобная функция - то да. смотри хелп по сиквелу. мы тут непомощники
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339349
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow, есть проблема, второй запрос выводит всего 16 ячеек длиной 32 символа, а поле items состоит из 120 ячеек длиной 32 символа.
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339351
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я тут причем?
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339355
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.php.net/manual/ru/function.mssql-num-rows.php

вот пользуйся. если оно показывает 16 строк значит проблема в запросе. если 120 значит в твоем коде вывода
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339377
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow, вы не поняли, строка 1, в ней бинарное поле Items имеет длину 3840 символов из них показывается только 512.
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339382
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ini_set ( 'mssql.textlimit' , '65536' );
ini_set ( 'mssql.textsize' , '65536' );
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38339398
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не помогло и глянул в phpinfo там по дефолту стояло.
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341674
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vanek2000,

Тип поля в БД какой?
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341676
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deblogger, varbinary(1920)
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341720
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vanek2000deblogger, varbinary(1920)
авторимеет длину 3840 символов
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341845
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при чем тут символы я тоже не понял. varbinary это байты без заполнения нулями в binary. То есть нельзя ожидать что варбинари вернет то количество байт, которые указаны в свойствах поля. Сколько записали штук - столько и получите.

Символ же может занимать 1, 2, 3 или 4 байта. Кроме того для символа нужны байты кодировки. Бинарные данные не нуждаются.

Однако откуда берется такое красивое число 512 надо разобраться, это 1000000000 двоично. Кто-то явно режет. Или может быть просто совпало в этом поле.
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341861
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deblogger,

да где-то режется, т.к. с другими строками тоже самое. Только вот незнаю как выяснить кто режет, пхп или скл.
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341871
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vanek2000ScareCrow, есть проблема, второй запрос выводит всего 16 ячеек длиной 32 символа, а поле items состоит из 120 ячеек длиной 32 символа.

Вот оно где, 512.

Что за ячейки? В общем тут похоже надо резать не дожидаясь перитонита.

Поле items согласно типу состоит из 1920 байт. Как вы ими распорядитесь - зависит от вас. Еще раз. varbinary не фиксировано по длине, потому что var. Вы просто не сможете записать больше указанного числа байт, а меньшее число запишется и вернется без заполнения пустого пространства нулями.
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341877
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vanek2000,

Ну так надо на сервер зайти и проверить прямо из консоли mysql
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341887
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deblogger,

Результат работы 1-его запроса:
автор1E6F854AB0A9007F0078000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34000068297A000000E0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100ABD0221E000000D0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14EF62AA9D9F007F0060000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E6F8595C3C8007F0088000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF256FFEB59392007F00C0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100C202BE00270000D00000000000000100FF21ED37000000D0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D6F7C1A1AA2007F00787D0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E6F85AD2082007F00A8000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C3737221AEC004A0080000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000014F3C4E6000000000000000000000C6B53DAC97A007F00D0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF176B537BF16B007F00D00000000000001D6F80906CDD007F00887D0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E6F855A8F6B007F0098000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF056F4D11139C007F0080000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF176B53B9F1C8007F00D0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07D64213ACF1005C0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E6F85352C3D007F00B8000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D6F7DCD4A3F007F00A87D0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF056F4D7C8B9100470080000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11005B174D6300000050000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16EF5AAC80E8007F00086D000000000016EF5F352C0B007F00086D0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D6F7D098C2C007F00987D0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D6F7DF75A06007F00B87D0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Результат работы 2-го запроса:
автор1E6F854AB0A9007F0078000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34000068297A000000E0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100ABD0221E000000D0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14EF62AA9D9F007F0060000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341891
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпри чем тут символы я тоже не понял. varbinary это байты без заполнения нулями в binary.
символов не может быть больше чем байт. ну вот никак.
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341912
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deblogger,

У меня mssql и если второй запрос выполнить на сервере, то он просто вернет <binary>, я так понял его надо CAST'ом преобразовать в другой тип?
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341924
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CAST(item as varchar(4000))
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38341995
vanek2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,
...
Рейтинг: 0 / 0
Правильно составить запрос php и mssql
    #38342529
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторпри чем тут символы я тоже не понял. varbinary это байты без заполнения нулями в binary.
символов не может быть больше чем байт. ну вот никак.

Зато может быть меньше.

Это просто техническая грамотность. Нельзя говорить про байт - символ, и уж подавно про символ - байт. Какой символ у 0x00? [nul]? Кроме того байты могут быть в дополнительном коде - то есть отражать отрицательное число. Которое в пересчете на символ вообще немыслимо.

В фундаментальном смысле символ это не байт, а файл. Если даже состоит из одного байта в ISO 8859-1.
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Правильно составить запрос php и mssql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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