小编Bun*_*nny的帖子

查询在SQL中有效但在PHP中无效

我遇到了一个SQL查询问题,我已经插入到一段PHP代码中来检索一些数据.查询本身在SQL中完美运行,但是当我在我的PHP脚本中使用它时,它会显示"查询错误",然后背诵整个SQL语句.如果我将错误消息中的SQL语句直接复制并粘贴到MySQL中,则运行时没有错误.

根据我的研究,我相信我错过了某个地方的撇号,因此PHP可能会混淆条款,但我没有足够的经验知道在哪里插入它们.

该查询使用的是一个名为$ userid的变量,该变量在PHP脚本中先前已指定.

$sql= <<<END

SELECT sum(final_price)  
FROM (
    SELECT Table_A.rated_user_id, Table_B.seller, Table_B.final_price
    FROM Table_A
       INNER JOIN Table_B ON Table_A.id=Table_B.id
) AS total_bought
WHERE seller != $userid
AND rated_user_id = $userid

    UNION ALL

SELECT sum(final_price)  
FROM (
    SELECT Table_A.rated_user_id, Table_C.seller, Table_C.final_price
    FROM Table_A
        INNER JOIN Table_C ON Table_A.id=Table_C.id
) AS total_bought
WHERE seller != $userid
AND rated_user_id = $userid

END;
Run Code Online (Sandbox Code Playgroud)

在此部分之后,脚本继续定义输出并按照惯例回显必要的部分.我很满意代码的最后一部分,因为它在其他地方工作,但我遇到的问题似乎在上面的部分.

谁能发现错误?

编辑添加以下附加信息:

所有字段都是数值,没有一个是文本.我已经尝试过'$ userid',但这只会让错误在错误结果中显示''这个值.问题依然如故.添加学生重点也没有帮助.在发布我的问题之前,我做了一些试验和更多的尝试.

如果有帮助,使用的代码的最后部分如下:

$result = mysql_query($sql);
if (!$res) {
  die('Error: ' . mysql_error() . ' in …
Run Code Online (Sandbox Code Playgroud)

php mysql sql

2
推荐指数
1
解决办法
1161
查看次数

标签 统计

mysql ×1

php ×1

sql ×1