Php PDO和SQL Server数据类型
我很难让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
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> >,以确保您的过程中没有造成此错误的问题。