我有一个用于更新记录的PHP sql命令。
$tsql = "UPDATE cplinktable SET bmsid = $bmsid, autotaskid = $autotaskid, waspdb = $waspdb, cpid = $cpid WHERE id = $id";
我收到了一个错误:
Invalid column name 'WaspTrackAsset_SFT'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid column name 'WaspTrackAsset_SFT'. ) )
有没有理由将waspdb的值用作列?
感谢,
Jonesy
答案 0 :(得分:3)
如果变量是字符串,则SQL需要单引号:
waspdb = '$waspdb'
否则,它将在源行中查找名称为$wasdb
的列。原因可能是使用示例查询最清楚地说明了原因:
update YourTable set col1 = 2*col2
这会将col2
乘以2
;它没有将col1
设置为'2*col2'
:)
答案 1 :(得分:1)
它可能是一个字符串字段或varchar,你需要用单引号。像这样:
$tsql = "UPDATE cplinktable SET bmsid = $bmsid, autotaskid = $autotaskid, waspdb = '$waspdb', cpid = $cpid WHERE id = $id"