Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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_Mysql_Sql - Fatal编程技术网

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查询。这真的是你想要做的吗?

那么,问题是什么?恭喜,你知道提前查询!!!你想让我们用它做什么…?对不起,我累了:/