猿问

sqlsrv_query , php 传入的表格数据流 (TDS) 远程过程调用 (RPC) 协议流

当我尝试使用 PHP 更新 SQL Server 中的数据时出现错误。


这是PHP代码:


$sql = "UPDATE Warehouse SET Items = CAST( ? AS varbinary(1920)) WHERE AccountID = 'shono'";

$params = array($vip_cat);


$stmt = sqlsrv_query( $conn_ms, $sql, $params);

if( $stmt === false ) {

 die( print_r( sqlsrv_errors(), true));

}else{

  echo 'ok';

}

这是我的错误:


无效值的一个示例是标度大于精度的数字类型数据。) )


我尝试了什么:


$sql = "UPDATE Warehouse SET Items = CAST( (?) AS varbinary(1920)) WHERE AccountID = 'shono'";

和:


$sql = "UPDATE Warehouse SET Items = CAST( $vip_cat AS varbinary(1920)),WarNum = (?) WHERE AccountID = 'shono'";

$params = array(1);


慕尼黑的夜晚无繁华
浏览 96回答 1
1回答

侃侃尔雅

这是问题所在$sql = "UPDATE Warehouse SET Items = CAST( **?** AS varbinary(1920)) WHERE AccountID = 'shono'";**$params = array($vip_cat);**$stmt = sqlsrv_query( $conn_ms, $sql, **$params**);我们只需要从 $stmt = sqlsrv_query( $conn_ms, $sql, $params );中删除 $params 我们会得到这样的正确代码$stmt = sqlsrv_query( $conn_ms, $sql);此外,这里将是 SQL 的正确命令UPDATE Warehouse SET Items = CAST(0x00..AS varbinary(1920)) WHERE AccountID = 'shono'
随时随地看视频慕课网APP
我要回答