代码之家  ›  专栏  ›  技术社区  ›  spinon

phpmyadmin出错,但在php脚本中运行良好

  •  3
  • spinon  · 技术社区  · 14 年前

    好吧,这个很奇怪,我想我的sql查询中肯定有问题,但我看不出有什么问题。现在的情况是,我有一个在php脚本中运行的脚本,该脚本检索用户已注册的所有类别以及有多少其他人已注册同一类别。当我在php页面中运行查询时,它非常慢,但确实返回结果。我想看看发生了什么,所以我去phpmyadmin运行同一个脚本,它返回结果的计数非常快,但然后给我以下错误,结果通常会显示:

    #1064 - 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 '' at line 1 
    

    以下是查询:

    SELECT t1.category_id, t3.description AS 'Category',
        t1.list_type_id, t2.name, t1.status_id, t2.user_id,
        t2.email, UNIX_TIMESTAMP( t1.record_date ) AS 'RecordDate',
        (
            SELECT COUNT( category_id ) 
            FROM t1_sub
            WHERE t1_sub = t1.job_ctg_id AND
                t1_sub.list_type_id = t1.list_type_id AND
                t1_sub.status_id =44
        ) AS 'MatchingListings'
    FROM t1
    INNER JOIN t2 ON t2.id_rfp_vendor_data = t1.user_id
    INNER JOIN t3 ON t3.type_lookup_id = t1.job_ctg_id
    WHERE t1.status_id =43
    

    我不知所措。我的问题有两个原因:

    1. 我的查询真的有问题吗?
    2. 如果不是,那么mysql错误是否说明了我的脚本运行缓慢的原因,并且php有办法解决这个问题(尽管这似乎是不太可能的,但我还是要问清楚)

    3 回复  |  直到 14 年前
        1
  •  1
  •   Konerak    14 年前

    PHPMyAdmin有权 稍微重写您的查询 (例如,添加LIMIT 0,30子句,以便仅显示前30行)。

    能否启用查询日志并查看在服务器上实际执行的查询?

        2
  •  0
  •   Scott Saunders    14 年前

    您的表或列名中有空格吗?如果是这样,请将它们括起来:

    `table name`
    
        3
  •  0
  •   MarkR    14 年前