PDO freetds hatası

0 Cevap php

Ben sadece 5.3.3 için 5.2 php ve ben (DBLIB ile) PDO'de bir garip hata yaşıyorum benim sunucu yükselttiniz.

Bir SQL Server 2005 bağlıyorum. Ben hata "N" harfi (bir unicode dize olduğunu SQL Server anlatmak için) ile bir parametre önek herhangi bir açıklama görünür yaşıyorum.

Sorgu bu gibi görünüyor:

INSERT INTO IPs (IP, PosterId, Note, DateAdded, Status, IsClass)
VALUES (:ip, :posterid, N:note, GETUTCDATE(), :status, :isclass)

Used to work properly on the old setup, the new one throws an exception:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

Ben parametresi önünde N karakterini çıkarırsanız düzgün çalışması gibi görünüyor. Ancak, bu gibi ifadeler binlerce var ve bir ağrı o kaldırmak olacaktır. Ben doğrusu bu olur neden bulmak ve bunu düzeltmek istiyorum.

Nasıl bu işi yapmak için herhangi bir fikir?

Teşekkürler

Later edit: Teşekkürler to stillstanding below, I found that using non named parameters (question mark) works. But it still leaves me with changing lots of statements.

Yani bu işleri:

INSERT INTO IPs (IP, PosterId, Note, DateAdded, Status, IsClass)
VALUES (?, ?, N?, GETUTCDATE(), ?, ?)

0 Cevap