php - 如何处理MYSQL数据库中'where子句'中的未知列'?
问题描述
不要关闭它,类似的问题没有一个好的答案?不工作查询:
$UT = '36daaae649c8b5bcfffe14e7cf5702cb' ;
$sql = " INSERT INTO foldertable (folderid, `serverToken`)
SELECT
$folderId,
(SELECT serverToken FROM `servertoken` WHERE `userToken` = $UT LIMIT 1)
WHERE NOT EXISTS
(SELECT folderid FROM foldertable WHERE folderid = $folderId)";
错误信息
'where 子句'中的未知列'36daaae649c8b5bcfffe14e7cf5702cb'
所以我改变了它:
$UT = '36daaae649c8b5bcfffe14e7cf5702cb' ;
$sql = " INSERT INTO foldertable (folderid, `serverToken`)
SELECT
$folderId,
(SELECT serverToken FROM `servertoken` WHERE `userToken` = '36daaae649c8b5bcfffe14e7cf5702cb'LIMIT 1)
WHERE NOT EXISTS
(SELECT folderid FROM foldertable WHERE folderid = $folderId)";
现在瓦拉!!查询有效。我的想法就像2语句之间有什么区别。
我搜索了所有内容并将查询更改为:
$sql = " INSERT INTO foldertable (folderid, `serverToken`)
SELECT
$folderId,
(SELECT serverToken FROM `servertoken` WHERE `userToken` = '$UT' LIMIT 1)
WHERE NOT EXISTS
(SELECT folderid FROM foldertable WHERE folderid = $folderId)";
所以现在它的工作。
所以我认为''有问题。(虽然我不知道那有什么问题)。
但是我的眼睛刚刚注意到那里有另一个$folderId
变量
$folderId = "12345" ;
那么这里发生了什么?
解决方案
推荐阅读
- python - 根据列表过滤文件夹中的特定文件
- mysql - 根据条件获取总数
- angular - 未调用 spyOn 函数
- junit - Hamcrest:转储当前类型和值
- .htaccess - 使用 htaccess 和 GeoIP 阻止特殊地址或 URL 的国家/地区
- delphi - mORMot 响应端口 80 而不是 IIS 上的 HTTP 请求
- django - 在 post_save django 之后将用户实例保存到另一个模型
- node.js - 使用 node.js 和 npm ftp 将文件上传到 ftp(来自 GoDaddy 的 ftp)
- javascript - Why isn't the element not interactable when the option's value is existing on the select?
- java - 你能告诉我“videoView.setVideoURI(uri);”、“videoView.start();”有什么问题吗?