PHP - SQL解析语句错误(意外T_LNUMBER)

use*_*506 -2 php sql syntax-error php-parse-error

任何人都可以帮我调试这个问题吗?这是我想从cron运行的php脚本的一部分.我一直在看它,但无法弄清楚出了什么问题.以下行抛出PHP错误"PHP Parse错误:语法错误,意外的T_LNUMBER在......行..."

$sqlreadstmt = $db->query("
select distinct 
rsdata.rs_variant,
rsdata.weeknumber,
rsdata.rs_moduleid,
rsdata.rs_objectidentifier,
trdata.tr_objectidentifier,
trdata.tr_testversion,
trdata.tr_plannedgate,
trdata.tr_vnvmethod,
testatussequence.tesequencenr,
trdata.tr_testexecutionstatus 
from rsdata,trdata,module,variantgates,testatussequence 
where rsdata.weeknumber="1339" 
and rsdata.rs_moduleid = module.moduleid 
and rsdata.weeknumber = trdata.weeknumber 
and rsdata.rs_reviewstatus != "Obsolete" 
and rsdata.rs_reviewstatus != "Rejected" 
and rsdata.rs_introbjectidentifieralllevels != "" 
and rsdata.rs_introbjectidentifieralllevels != "Unknown" 
and find_in_set(trdata.tr_objectidentifier, (select rsdata.rs_introbjectidentifieralllevels)) 
and trdata.tr_plannedgate != "" 
and trdata.tr_plannedgate != "Unknown" 
and trdata.tr_plannedgate = variantgates.gate 
and trdata.tr_variant = variantgates.variant 
and trdata.tr_testexecutionstatus = testatussequence.testatus 
order by 
rs_variant ASC,
weeknumber ASC,
rs_moduleid ASC,
rs_objectidentifier ASC,
tr_testversion ASC,
tr_plannedgate ASC,
tr_vnvmethod ASC,
tesequencenr DESC;
");
Run Code Online (Sandbox Code Playgroud)

Laj*_*res 5

你能试试吗?

$sqlreadstmt = $db->query("
select distinct 
rsdata.rs_variant,
rsdata.weeknumber,
rsdata.rs_moduleid,
rsdata.rs_objectidentifier,
trdata.tr_objectidentifier,
trdata.tr_testversion,
trdata.tr_plannedgate,
trdata.tr_vnvmethod,
testatussequence.tesequencenr,
trdata.tr_testexecutionstatus 
from rsdata,trdata,module,variantgates,testatussequence 
where rsdata.weeknumber='1339' 
and rsdata.rs_moduleid = module.moduleid 
and rsdata.weeknumber = trdata.weeknumber 
and rsdata.rs_reviewstatus != 'Obsolete' 
and rsdata.rs_reviewstatus != 'Rejected' 
and rsdata.rs_introbjectidentifieralllevels != '' 
and rsdata.rs_introbjectidentifieralllevels != 'Unknown' 
and find_in_set(trdata.tr_objectidentifier, (select rsdata.rs_introbjectidentifieralllevels)) 
and trdata.tr_plannedgate != '' 
and trdata.tr_plannedgate != 'Unknown' 
and trdata.tr_plannedgate = variantgates.gate 
and trdata.tr_variant = variantgates.variant 
and trdata.tr_testexecutionstatus = testatussequence.testatus 
order by 
rs_variant ASC,
weeknumber ASC,
rs_moduleid ASC,
rs_objectidentifier ASC,
tr_testversion ASC,
tr_plannedgate ASC,
tr_vnvmethod ASC,
tesequencenr DESC;
");
Run Code Online (Sandbox Code Playgroud)

在双撇号内,你不能使用其他双撇号"没有逃脱它们.

否则在sql中简单的撇号是字符串分隔符.