2015-02-20 3 views
0

Мы используем PDO для подключения к MSSQL Server с помощью DSN:PDO ODBC: Недопустимая строка или длина буфера

odbc:Driver={SQL Server Native Client 11.0};;Server=*.*.*.*;Database=whatever; 

При попытке execute() в INSERT заявление мы получаем следующее сообщение об ошибке:

Error: SQLSTATE[HY090]: Invalid string or buffer length: 0 [Microsoft][SQL Server Native Client 11.0]Invalid string or buffer length (SQLExecute[0] at /builddir/build/BUILD/php-5.5.18/ext/pdo_odbc/odbc_stmt.c:254) 

ответ

-1

Это сообщение об ошибке представляется довольно по умолчанию сообщением об ошибке, которое может означать множество разных вещей.

В нашем случае просто было указано, что параметр был указан в подготовленном заявлении, но не был связан. Grrrrr!

+0

вы также должны добавить соответствующий код, чтобы, когда люди сталкиваются с одной и той же проблемой и спотыкаются на этот вопрос, они также будут знать. – Ghost

+0

Роб, не могли бы вы добавить свой код, поскольку я столкнулся с той же проблемой. – vijay

+0

Специфичность моего фактического кода довольно неуместна, следовательно, их упущение. Проблема заключается в плохих сообщениях об ошибках, возвращаемых драйвером. Я бы дважды проверял, что все параметры, которые вы включили в ваш запрос, привязаны перед выполнением запроса. –

Смежные вопросы