Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO和SQL Server数据类型_Php_Sql Server_Pdo - Fatal编程技术网

Php PDO和SQL Server数据类型

Php PDO和SQL Server数据类型,php,sql-server,pdo,Php,Sql Server,Pdo,我很难让PDO准备的语句与SQL Server的非传统数据类型(如money)一起工作。数据库假定字段为nvarchar,即使它被转换为浮点,也会返回如下错误: 将数据类型nvarchar转换为货币时出错 我已经习惯了MySQL和“正常工作”的东西,所以我有点迷路了 $stmt = $pdo->prepare('EXEC my_money_sp ?'); $stmt->bindValue(1, 10.00); $stmt->execute(); // SQLSTATE[4200

我很难让PDO准备的语句与SQL Server的非传统数据类型(如
money
)一起工作。数据库假定字段为
nvarchar
,即使它被转换为浮点,也会返回如下错误:

将数据类型nvarchar转换为货币时出错

我已经习惯了MySQL和“正常工作”的东西,所以我有点迷路了

$stmt = $pdo->prepare('EXEC my_money_sp ?');
$stmt->bindValue(1, 10.00);
$stmt->execute();
// SQLSTATE[42000]: [SQL Server]Error converting data type nvarchar to money.

请尝试关闭模拟准备,看看这是否有影响。另请参阅:模拟准备已关闭。我无法控制数据库结构。如果您找不到实际答案,请使用如何将参数绑定到money列作为一种解决方法,然后在查询中正确输入值。当然,使用预先准备好的语句会使您失去任何好处。我也偶然发现了这个问题。这可能会有帮助。如果不是,您可能还需要考虑发布<代码> MySuthMyEysSP/C> >,以确保您的过程中没有造成此错误的问题。