Hi,

when rating an item with the five star plugin I get a popup with the following error message:

An AJAX HTTP error occurred.
HTTP Result Code: 500
Debugging information follows.
Path: /system/ajax
StatusText: Internal Server Error
ResponseText: PDOException: SQLSTATE[42000]: Syntax error or access violation: 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: INSERT INTO {field_data_field_published_in} (entity_type, entity_id, revision_id, bundle, delta, language, field_published_in_url, field_published_in_title, field_published_in_attributes) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, ); Array
(
[:db_insert_placeholder_0] => node
[:db_insert_placeholder_1] => 1609
[:db_insert_placeholder_2] => 1609
[:db_insert_placeholder_3] => review
[:db_insert_placeholder_4] => 0
[:db_insert_placeholder_5] => und
[:db_insert_placeholder_6] => http://www.tandf.co.uk/journals/titles/13675567.asp
[:db_insert_placeholder_7] => International Journal of Logistics Research and Applications
)
in field_sql_storage_field_storage_write() (line 448 of /some/path/field_sql_storage/field_sql_storage.module).

Any hints?

Daniel

Files: 
CommentFileSizeAuthor
#18 fivestar-ajax-error.1393812.patch937 bytesericduran
PASSED: [[SimpleTest]]: [MySQL] 115 pass(es).
[ View ]

Comments

Getting the same error Chrome and Firefox
An AJAX HTTP error occurred.
HTTP Result Code: 500
Debugging information follows.
Path: /system/ajax
StatusText: Service unavailable (with message)
ResponseText: PDOException: SQLSTATE[42000]: Syntax error or access violation: 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: INSERT INTO {field_data_field_widget_link} (entity_type, entity_id, revision_id, bundle, delta, language, field_widget_link_url, field_widget_link_title, field_widget_link_attributes) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, ); Array
(
[:db_insert_placeholder_0] => node
[:db_insert_placeholder_1] => 6842
[:db_insert_placeholder_2] => 6841
[:db_insert_placeholder_3] => contributed_widgets
[:db_insert_placeholder_4] => 0
[:db_insert_placeholder_5] => und
[:db_insert_placeholder_6] => http://google.com/
[:db_insert_placeholder_7] => http://google.com/
)
in field_sql_storage_field_storage_write() (line 448 of /some/path/modules/field/modules/field_sql_storage/field_sql_storage.module).

[update] when I remove the iFrame content from the page it works fine possible conflict with the insertFrame module or something with the iFrame itself

[update2] no error when just using a regular iFrame so must be a conflict with something the insertFrame module is doing.

[update3] does not have to do with insertFrame error occurs if there is a link field that has a value in the node. If you have a link field and that field has a value this ajax error will happen, remove the link field value error will go away. Does anyone know if this is a core ajax handling issue or if fivestar is doing something wrong?

[update4] related http://drupal.org/node/1055772 looks like Fivestar calls
field_attach_update($entity_type, $entity);
without 'cleaning the data' causing the error in field_sql_storage.module

[update5] anyone looking for a temp fix for this can unset the offending field before the call to
field_attach_update($entity_type, $entity); on line 155 of fivestar.field.inc
in my case
unset($entity->field_widget_link);

Same error here with last dev version.

the [update5] with the unset workaraound works for me too.

Thank you.

I am battling the same issues here... Users are not able to vote. I tried the fix suggested by ChrisNelson and I was able to get one vote from a user but the next user received the error. These were test users in difference browsers. I have tried placing the unset above and below the field_attach_update. Is my syntax correct?

function _fivestar_update_field_value($entity_type, $entity, $field_name, $langcode, $value) {
  $entity->{$field_name}[$langcode][0]['rating'] = $value;
  unset($entity->field_widget_link);
  field_attach_update($entity_type, $entity);
}

and

function _fivestar_update_field_value($entity_type, $entity, $field_name, $langcode, $value) {
  $entity->{$field_name}[$langcode][0]['rating'] = $value;
  field_attach_update($entity_type, $entity);
  unset($entity->field_widget_link);
}

Any thoughts? Thanks Kevin

I'm looking into this. Sorry for any issues this might have caused :(

i'm seeing this as well - but here's what's strange: i got the error, so i went back to the content type and changed the type of star and updated, then went back and votes worked on existing nodes with five star BUT when i created a new node, the new node spat back the error. odd.

btw, how would a non programmer go about implementing the (unset) change to that line - or does somebody know if that's already rolled into the most recent dev version?

update: i'm seeing this now only in nodes that have link fields as well.

Zilla: something strange is happening when using fivestar and link field in the same node: I was forced to strip field link from my nodes. :(

http://drupal.org/node/1448298

yeah, same thing - i noticed that it was actually removing any links from the node and when clicking "edit" any links entered in link field were now gone, at which point five star worked again...i had to remove link field from two node types and replace with a text box to insert links, which is okay but not as nice ;)

This is weird, because I don't modified the link field.

it is really strange because link field should be entirely unrelated, but there's something exposed in link field that's causing this (or in five star), and it happens at save page (the event when information gets stored in an edit) as well as in display (when five star votes are enabled in field widget, they can spit back this error but don't alter links, the links field gets altered when the node state is changed)

Hi there,

I am using fivestar and link field in the same nodetype and facing the same problem after upgrading from Drupal6 to Drupal7.

Any solution out there?

Title:AJAX / SQL errorAJAX / SQL error - one solution

so, my solution was a bit of a hack: i simply removed the "link field" and instead used a text box set to plain text filter (which converts URL to link, though quirky on my own site right now) - you can then use "better formats" module to hide the whole inputs instructions text that appears on a text box

basically, it will look the same, but if you want to incorporate the link field into views just remember that you're not using the link field anymore!

Thank you Zilla for your suggested solution. But, the problem is that I have already content using link_field. I am wondering what's going wrong with link & Fivestar in Drupal 7.

i have no idea, but i'd personally love to see a strong fix so that i can go back to using it the logical way (i like managing links in links fields with optional titles/descriptions for tons of reasons - and rating in some situations is absolutely critical, so i need both on the same node!)

Yea, I'm looking into this issue.

I'm testing fivestar and link. I should have a fix for this hopefully soon.

Confirming the AJAX problem with a content type with link field used.
The last Fivestar 7.x-2.x-dev

Priority:Major» Critical

Worse than that, it erases all the data from the field_data_field_link table when the node is given a star rating! I think you just need to change the "bundle" name to something other than "Link". On the bright side, once it erases all the Link module's data it seems to work.

Status:Active» Needs review
StatusFileSize
new937 bytes
PASSED: [[SimpleTest]]: [MySQL] 115 pass(es).
[ View ]

Ok, lets see if this passes the test.

But I'm also going to try and see if I can add a test for this.

Status:Needs review» Fixed

Ok. this looks good to me. I'm going to commit this.

This should fix all the ajax problems.

Thanks all for the help.

--
http://drupalcode.org/project/fivestar.git/commit/3b66a82

yep I think that did it!

Status:Fixed» Active

Opening this back up again because of #1503086: voting kills Image field

Status:Active» Fixed

Ok this is now properly fixed, sorry for any issues this might have caused.

--
http://drupalcode.org/project/fivestar.git/commit/46a196d62aacd430523161...

Status:Fixed» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

seems not to be solved,
I'm getting AJAX 500 Error with Drupal 7.12 and Fivestar 7.x-2.0-alpha2
again.

See my Post: http://drupal.org/node/1546878

I'm getting the Ajax 500 error while trying to "Retroactive update" filenames in a content type with fivestar & link fields. After the error the link field loses its value.

Drupal 7.14, Fivestar 7.x-2.0-alpha2+5-dev

Issue summary:View changes
Status:Closed (fixed)» Active

When i use this patch all Node-Images are deleted when i make a Fivestar-Rating. Whether guest, registered user or admin rate ....

Has anyone an idea?

Status:Active» Postponed (maintainer needs more info)

There's quite a history in the comment chain, it's not clear what Fivestar configuration has the issue. Please give a list of things I can do to reproduce the problem - both the "raw" link form and the "image" form.

But first, please test with the 7.x-2.0-beta1 version, which has about twenty fixes since the last comment on this issue - including in the function mentioned.

Priority:Critical» Normal