SQL:用于列的UPDATE查询错误值

时间:2010-10-19 14:28:57

标签: php sql sql-update

我有一个用于更新记录的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

2 个答案:

答案 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"