Php SQL高级查询
我正在尝试更新是否存在或插入是否不存在,但由于某些原因,此查询将无法工作Php SQL高级查询,php,mysql,sql,Php,Mysql,Sql,我正在尝试更新是否存在或插入是否不存在,但由于某些原因,此查询将无法工作 DECLARE @serverID varchar(60) SET @serverID='(SELECT `c_server` FROM `admin_settings` WHERE `member_id`='%1')' IF EXISTS (SELECT `id` FROM `s_advanced_info` WHERE `s_id` = @serverID) UPDATE `s_advanced_info` S
DECLARE @serverID varchar(60)
SET @serverID='(SELECT `c_server` FROM `admin_settings` WHERE `member_id`='%1')'
IF EXISTS (SELECT `id` FROM `s_advanced_info` WHERE `s_id` = @serverID)
UPDATE
`s_advanced_info`
SET
`s_hostname`='%2',
`s_password`='%3',
`s_admin_password`='%4',
`s_motd`='%5',
`s_sigcheck`='%6',
`s_maxplayers`='%7',
`s_kickduplicate`='%8',
`s_sidechat`='%9',
`s_von`='%10',
`s_vonquality`='%11',
`s_datetime_type`='%12',
`s_static_date`='%13',
`s_static_time`='%14'
WHERE
`s_id` = @serverID
ELSE
INSERT INTO
`s_advanced_info`
VALUES
('',@serverID,'%2','%3','%4','%5','%6','%7','%8','%9','%10',
'%11','%12','%13','%14')
当我在mysql控制台中尝试时,它说错误在这里:
声明@serverID varchar60
SET@serverID='从管理员设置中选择c_服务器,其中成员id='%1
错误的含义是什么以及如何更正它?尝试以下操作:声明@serverID varchar60 SET@serverID=SELECT c\u server FROM admin\u settings,其中member\u id='%1'
因为您似乎正在将serverId变量设置为一个字符串,而该字符串恰好是一个sql查询。这真的是你想要做的吗?那么,问题是什么?恭喜,你知道提前查询!!!你想让我们用它做什么…?对不起,我累了:/