我已经查过这个问题的答案了,但似乎找不到。其他问题是关于不返回结果,但我的问题抛出了一个SQL错误。
我有一个通过PHP运行的查询:
SELECT WISH.CUST_ID, CUSTOMER.CUST_LNAME, CUSTOMER.CUST_FNAME,
WISH.ITEM_ID, ITEM.ITEM_NAME, WISH.WISH_NOTES,
WISH.WISH_ADDED, WISH.WISH_DELETED
FROM WISH
LEFT JOIN ITEM ON WISH.ITEM_ID = ITEM.ITEM_ID
LEFT JOIN CUSTOMER ON WISH.CUST_ID = CUSTOMER.CUST_ID
WHERE WISH.CUST_ID != -1 AND CUSTOMER.CUST_FNAME LIKE '%k%'
ORDER BY ITEM.ITEM_DELETED ASC
LIMIT 0, 15当我在PHP中运行它时,它会给出以下错误:where子句中未知列'CUSTOMER.CUST_FNAME‘,但是当我直接通过MySQL运行它(我通过连接到数据库的程序运行它),它返回我想要的结果,没有错误。
这可能是显而易见的事情,但我需要另一组眼睛来帮助解决它。
谢谢!
更新:,我有一个文件,它用GET url提供的变量动态地创建这个查询。我使用mysql_real_escape_string()对这些变量进行转义,然后将它们放在它们的位置上,并运行查询。问题似乎与查询的动态性质有关;如果我在查询放在一起后复制并粘贴它,将其作为字符串放入我的文件并运行它,它就能正常工作。我尝试将动态查询转换成字符串,但它没有解决问题。有什么想法吗?
更新2:我今天去看这个应用程序,再次尝试调试这个问题,它突然起作用了,我不知道它会产生什么效果--因为除了试图清理文件中的代码之外,我什么也没做--不过,我是running...Thanks,每个人都在帮助我!
发布于 2011-04-04 12:22:23
如果这是一个连接错误,您将收到一个MySQL错误,因为它是一个mysql_select_database($dbname, $conn)错误,我可以假设您有一个连接资源,但是,没有选择数据库,请确保:mysql_select_database($dbname, $conn)指向正确的数据库。如果失败,可以尝试使用查询本身连接到正确的数据库。
[Database].[table].[field]首先尝试运行一个小的查询,看看问题到底是什么,尤其是对于给出错误的字段。
最终你会发现这是个愚蠢的错误。
祝好运!
https://stackoverflow.com/questions/5527281
复制相似问题