我在 PHP 文件中有以下查询,该查询工作正常并返回应有的数据
SELECT
'NZ' AS ORDERORIGIN,
'Assembly' as ORDERTYPE,
ORDERNUMBER,
ITEMDESCRIPTION AS ORDERDESCRIPTION
FROM ASSEMBLYHEADER AH
WHERE AH.ORDERSTATUS IN ('InProgress','Open')
当我添加到查询时,如下所示,
SELECT
'NZ' AS ORDERORIGIN,
'Assembly' as ORDERTYPE,
ORDERNUMBER,
ITEMDESCRIPTION AS ORDERDESCRIPTION
FROM ASSEMBLYHEADER AH
WHERE AH.ORDERSTATUS IN ('InProgress','Open')
UNION
SELECT
'NZ' AS ORDERORIGIN,
'Non-Charge' as ORDERTYPE,
COSTCENTRECODE AS ORDERNUMBER,
'NO ORDER DESCRIPTION' AS ORDERDESCRIPTION
FROM COSTCENTREMASTER
WHERE COSTCENTRECODE IN ('STK','ADM','CL','DR','HS','ME','STR','SUP','CAD','STQC','STDR','STOR','L5S','LKA','ECR','GENG','GSALE','TECH','GRAD','GMAR','GWAR','EUS','SUS','ASPP')
ORDER BY 3"
然后我收到错误 “ibase_fetch_assoc(): 第 220 行中的字符串格式错误”。 PHP 文件中的第 220 行是
while ($row = ibase_fetch_assoc($result)) {
当我在其他地方使用相同的查询时,它工作得很好。错误出现在网页上而不是控制台上。
当我查找“格式错误的字符串”时,提到了字符集。在 PHP 的
<Header>
中,我有 <meta charset="utf-8">
。
我尝试将 '' 替换为“无订单描述”,但这不起作用。
扩展 SQL 语句的额外数据如下。没有不寻常的字符。还有什么我应该检查的吗?
NZ Non-Charge ADM
NZ Non-Charge ASPP
NZ Non-Charge CAD
NZ Non-Charge CL
NZ Non-Charge DR
NZ Non-Charge ECR
NZ Non-Charge EUS
NZ Non-Charge GENG
NZ Non-Charge GMAR
NZ Non-Charge GRAD
NZ Non-Charge GSALE
NZ Non-Charge GWAR
NZ Non-Charge HS
NZ Non-Charge L5S
NZ Non-Charge LKA
NZ Non-Charge ME
NZ Non-Charge STDR
NZ Non-Charge STK
NZ Non-Charge STOR
NZ Non-Charge STQC
NZ Non-Charge STR
NZ Non-Charge SUP
NZ Non-Charge SUS
NZ Non-Charge TECH
为了解决这一问题,我创建了 3 个单独的查询并将结果组合起来,然后一次将它们添加到 UL 中。列表整体未排序并不重要。仍然不知道是什么导致了最初的问题,但我有一个解决方案。我很感谢你的回复,马克,这些年来你给了我很多帮助。尤其是在开始时,当您解释如何最好地布局查询代码以使调试更容易时。