gpt4 book ai didi

php - 为什么查询显示系统错误?

转载 作者:行者123 更新时间:2023-11-30 01:31:03 25 4
gpt4 key购买 nike

我有一个查询,我想用 php 编写它,但它显示错误。

我的查询如下:

$exe1 = mysql_query("
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'SUM(CASE WHEN `size_name` = ''',
`size_name`,
''' THEN Quantity ELSE 0 END) AS `',
`size_name`, '`'
)
) INTO @sql
FROM Size;

SET @sql = CONCAT('SELECT st.Style , ', @sql, '
FROM Size s
JOIN Style st ON s.style_id = st.id
GROUP BY st.Style
');

PREPARE stmt FROM @sql;
EXECUTE stmt;") or die(mysql_error());

但它显示了消息

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @sql = CONCAT('SELECT st.Style , ', @sql, ' FROM Size s ' at line 12

我只是不知道如何解决这个错误。谁能帮我解决这个问题吗?

最佳答案

您应该在 @sql 中打印出结果查询来查看问题。

就您而言,在最后一个参数之后似乎有一个额外的逗号。尝试更改行:

SET @sql = CONCAT('SELECT st.Style , ', @sql, '
FROM Size s
JOIN Style st ON s.style_id = st.id
GROUP BY st.Style
');

至:

SET @sql = CONCAT('SELECT st.Style , ', @sql'
FROM Size s
JOIN Style st ON s.style_id = st.id
GROUP BY st.Style
');

关于php - 为什么查询显示系统错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17446420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com