Make WordPress Core

Opened 19 years ago

Closed 19 years ago

Last modified 19 years ago

#6508 closed defect (bug) (duplicate)

Gallery does not work on my hosting

Reported by: Dickie Owned by:
Priority: normal Milestone:
Component: General Version:
Severity: major Keywords: Media gallery has-patch
Cc: Focuses:

Description

I'm not sure of the difference, but on my hosting (and others as well as seen here ​http://wordpress.org/support/topic/163938?replies=7) the Gallery function does not work.
I get a php error

[31-Mar-2008 07:32:03] WordPress database error 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 '\"menu_order ASC, ID ASC\" DESC' at line 1 for query SELECT DISTINCT * FROM wp_posts  WHERE 1=1 AND post_type = 'attachment'   AND wp_posts.post_parent = 15  AND (post_mime_type LIKE 'image/%')  GROUP BY wp_posts.ID ORDER BY \"menu_order ASC, ID ASC\" DESC made by get_posts

In the investigation that I have done, this seems to be related to the call to get children in gallery_shortcode function in wp-includes/media.php

$attachments = get_children("post_parent=$id&post_type=attachment&post_mime_type=image&orderby=\"{$orderby}\"");

As far as I can see the {$orderby} should not be in quotes, and also the order parameter should be overridden as the function get_posts in post.php adds DESC to the end anyway.

All in all we end up with this

ORDER BY \"menu_order ASC, ID ASC\" DESC

being sent to SQL and it has a hissy fit !!

What I am not sure about is why this code seems to work for some people, and also on my WAMP setup on my own PC...?

I will try to come up with a patch, but in the mean time, I thought I ought to inform the world.

Attachments (1)

media.patch​ (559 bytes ) - added by Dickie 19 years ago.
Fix for Gallery problem

Download all attachments as: .zip

Change History (11)

#1 @Dickie
19 years ago

  • Keywords Media gallery added
  • Milestone 2.7 → 2.5.1
  • Severity normal → major

@Dickie
19 years ago

Fix for Gallery problem

#2 @Dickie
19 years ago

Added a patch... this works for me.. but not sure if it mucks anything else up, also the fact that I have taken the double quotes off it causes any security issue.
I have tried it with single and double quotes around the orderby but both fail.
I also added the order attribute as blank as the actual order is specified in the orderby.

#3 follow-up: @ionfish
19 years ago

Applying the patch causes galleries not to be displayed for me. What versions of PHP and MySQL are you running?

#4 @Dickie
19 years ago

  • Keywords has-patch added

#5 in reply to: ↑ 3 @Dickie
19 years ago

Replying to ionfish:

Applying the patch causes galleries not to be displayed for me. What versions of PHP and MySQL are you running?

Oops..

PHP/5.2.0
Apache version 1.3.37 (Unix)
MySQL version 4.1.22-standard-log

How odd

#7 @ionfish
19 years ago

  • Resolution → duplicate
  • Status new → closed

#8 @UncleZeiv
19 years ago

I don't agree that 6476 is a duplicate; that bug deals with a working, albeit wrong, SQL query. In this case, the query results in a syntax error. It should be interesting for future knowledge to understand why this admittedly wrong sql query is generating syntax error only on a very small number of configurations.

Anyway, I have the same problem, using: MySQL 5.0.32, Apache/2.2.3 (Debian) and PHP 5.2.0-8+etch7.

Dickie let me know if you find something. See also here: ​http://wordpress.org/support/topic/164540?replies=1

#9 @Nazgul
19 years ago

  • Milestone 2.5.1

#10 @UncleZeiv
19 years ago

In ​this thread, user Velenux found out that the culprit could be the magic quotes setting in php. Disabling it seems to work (confirmed also by other users).

Note: See TracTickets for help on using tickets.