php - 通过 PHP 运行时出现 MySQL 错误,但在 phpMyAdmin 中没有

标签 php mysql sql

我已经在此处查看了此问题的答案,但似乎找不到。其他问题是关于不返回结果,但我的问题抛出 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:我今天去看了应用程序,试图再次调试问题,它突然开始工作了,我不知道是什么让它工作了——因为我什么都没做除了尝试清理我正在运行的文件中的代码外……感谢大家的帮助!

最佳答案

如果是连接错误,你会收到一个 PHP 错误,因为它是一个 MySQL 错误,我可以假设你有一个连接资源,但是,没有选择数据库,确保: mysql_select_database($dbname, $conn) 指向正确的数据库。 如果失败,您可以尝试使用查询本身连接到正确的数据库

[Database].[table].[field]

首先尝试运行一个小的查询来查看问题到底是什么,特别是对于给您错误的字段。

最终你会发现这是一个愚蠢的错误。

祝你好运!

关于php - 通过 PHP 运行时出现 MySQL 错误,但在 phpMyAdmin 中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5527281/

相关文章:

php - “警告:无法修改标题信息-[错误]已经发送的标题”

PHP - 创建函数问题

python - pip install mysqlclient 返回 "fatal error C1083: Cannot open file: ' mysql.h' : No such file or directory

sql - LINQ 和 Lambda 表达式等效于 SQL In

javascript - 每小时自动运行 PHP 页面 - 无需使用 Cron 作业

mysql - 如何使用MYSQL将秒转换为时间

mysql - 从另一个表中选择最近的行

mysql - SQL中如何计算时间

sql - 哈希 SQL 行?

php - 如何将 mysql_insert_id 与连接表一起使用