SQL: значение ошибки запроса UPDATE, используемое для столбца - PullRequest
0 голосов
/ 19 октября 2010

У меня есть команда 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 используется в качестве столбца?

спасибо,

Джонси

Ответы [ 2 ]

3 голосов
/ 19 октября 2010

Если переменная является строкой, SQL требует одинарных кавычек:

waspdb = '$waspdb'

В противном случае он будет искать в исходной строке столбец с именем значения $wasdb. Причина, возможно, наиболее четко проиллюстрирована на примере запроса:

update YourTable set col1 = 2*col2

Это умножает col2 на 2; col1 не устанавливается '2*col2':)

1 голос
/ 19 октября 2010

Это строковое поле или varchar, вероятно, и вам нужно в одинарных кавычках.Как это:

$tsql = "UPDATE cplinktable SET bmsid = $bmsid, autotaskid = $autotaskid, waspdb = '$waspdb', cpid = $cpid WHERE id = $id"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...