简体   繁体   中英

What's wrong with mysql query

What's wrong with my MySQL query? Anything that immediately jumps out at you as bad? I'm also not completely aware of what AS does and . between words in the query. Also is UNIX_TIMESTAMP("date") suppose to have "" around date?

$query = '
        SELECT 
            object_pk, 
            project_object_fk, 
            tbl_object.name 
        AS 
            name, 
            priority, 
            tbl_category.name 
        AS 
            category_name, 
            UNIX_TIMESTAMP("date") 
        AS 
            "date", 
            time, 
            login_pk, 
            concat_ws(" ", title, first_name, middle_name, last_name, suffix) 
        AS 
            person 
        FROM 
            tbl_object, 
            tbl_object_type, 
            tbl_task, 
            tbl_category, 
            tbl_object_category_link, 
            tbl_login, 
            tbl_contact 
        WHERE 
            UNIX_TIMESTAMP("date")>1327791600 
        AND 
            UNIX_TIMESTAMP("date")<1331420399 
        AND 
            object_type="task" 
        AND 
            tbl_task.object_fk=object_pk 
        AND 
            object_type_pk=object_type_fk 
        AND 
            tbl_object_category_link.object_fk=object_pk 
        AND 
            category_fk=category_pk 
        AND 
            login_owner_fk=login_pk 
        AND 
            contact_pk=contact_fk 
        AND 
            object_status="ACTIVE" 
        ORDER BY 
            time
    ';

change your quotes for mysql query content.

wether use " for php string quoting , or \\' for sql string values inside your php ' quoted string

UNIX_TIMESTAMP("date") 
AS 
"date",  <-- probably this line

Change it to:

UNIX_TIMESTAMP("date") 
AS 
`date`,

To be safe.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM