PDO& MS SQL Server:为整数列插入值会导致错误

时间:2015-06-08 15:00:27

标签: php sql-server pdo

我试图在我的INT列中插入一个整数值。但是,当我执行以下PHP代码时,会导致错误,告诉我我正在尝试插入“文本”,这不应该是这种情况......

PHP

$myCode = 1;
$sth = $db->prepare("INSERT INTO tblCodes (myCode) VALUES (:myCode)");
$sth->bindParam(':myCode', $myCode, PDO::PARAM_INT);
$sth->execute();

错误

  

SQLSTATE [22018]:强制转换规范的字符值无效:206   [FreeTDS] [SQL Server]操作数类型冲突:文本与int不兼容   (SQLExecute [206] at   /builddir/build/BUILD/php-5.6.9/ext/pdo_odbc/odbc_stmt.c:254)

任何人都可以帮助我吗? 非常感谢!

1 个答案:

答案 0 :(得分:-1)

我认为这是一个错误。我通过更改查询解决了我的问题。在您的情况下,更改查询如下:

PDO::PARAM_INT

现在它应该由PDO::PARAM_STR/(\b[1-9][\d\,\.]+([kmbt]?))(\s)/g 工作。