0

我收到了一个 MySQL 查询:

SET @COD_PAIS = 3, @ID_CARTERA = 8; 
SELECT 
    C.DES_PERMADURACION AS Item
    , B.POR_MADURACION AS Percentage_Distribution 
FROM dficha_mes A 
JOIN det_maduraciones B 
    ON ( A.ID_FICHA_MES = B.ID_FICHA_MES ) 
JOIN mpermaduraciones C 
    ON ( B.ID_PERMADURACION = C.ID_PERMADURACION ) 
WHERE A.ID_CARTERA = @ID_CARTERA 
AND A.COD_PAIS = @COD_PAIS 
AND B.F_CORTE = ( 
                    SELECT 
                        F_ULT_CIERRE_MENSUAL 
                    FROM mpaises 
                    WHERE COD_PAIS = @COD_PAIS );

该表有西班牙文的行和列。

当我使用 PHP 运行此查询时mysql_query(),我收到以下错误:

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 'SELECT 
        C.DES_PERMADURACION AS Item
        , B.POR_MADURACION AS Percentage_Distrib' at line 2

然而,这个查询可以在 MySQL Workbench 甚至 SQLYog 上完美运行。

这里有任何指示吗?

4

3 回答 3

2

您不能在 PHP 中的单个字符串中提交多个查询。您需要将它们作为单独的调用来执行mysql_query(),或者使用 mysqli 接口来代替(无论如何您都应该这样做)。

http://php.net/manual/en/book.mysqli.php

于 2012-11-13T05:34:25.177 回答
1

我相信mysql_query()一次只能执行 1 个查询。

于 2012-11-13T05:31:39.460 回答
1

首先,请忘记 mysql_* 命令,因为它们已被弃用。

其次,如前所述,您一次不能使用多个查询。

三、看这里: MySql variables and php

在这里: http ://www.webhostingtalk.com/showthread.php?t=360276

于 2012-11-13T05:40:49.233 回答