Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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 SQL:更新用于列的查询错误值_Php_Sql_Sql Update - Fatal编程技术网

Php SQL:更新用于列的查询错误值

Php SQL:更新用于列的查询错误值,php,sql,sql-update,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

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

可能是一个字符串字段或varchar,您需要在单引号中使用它。像这样:

$tsql = "UPDATE cplinktable SET bmsid = $bmsid, autotaskid = $autotaskid, waspdb = '$waspdb', cpid = $cpid WHERE id = $id"

它可能是一个字符串字段或varchar,您需要在单引号中使用它。像这样:

$tsql = "UPDATE cplinktable SET bmsid = $bmsid, autotaskid = $autotaskid, waspdb = '$waspdb', cpid = $cpid WHERE id = $id"

如果变量是字符串,SQL要求在其周围加单引号:

waspdb = '$waspdb'
否则,它将在源行中查找名为
$wasdb
的列。通过一个查询示例可以最清楚地说明原因:

update YourTable set col1 = 2*col2

这将
col2
乘以
2
;它不会将
col1
设置为
'2*col2'
:)

如果变量是字符串,SQL需要在其周围加上单引号:

waspdb = '$waspdb'
否则,它将在源行中查找名为
$wasdb
的列。通过一个查询示例可以最清楚地说明原因:

update YourTable set col1 = 2*col2
这将
col2
乘以
2
;它不会将
col1
设置为
'2*col2'
:)