@julienmoumne opened this Issue on April 25th 2011 Member

On Windows 7x64, PHP 5.3.5, MySQL 5.5.9 x64, updating a pdf report with emailMe=0 fails and gives :

SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'email_me' at row 1

The problem seems to be located at plugins/PDFReports/API.php#L105.

In the API call, when

  • emailMe=false, (bool)$emailMe is equal to true (no SQL error is thrown)
  • emailMe=0, (bool)$emailMe is equal to false (a SQL error is thrown)
  • emailMe=true, (bool)$emailMe is equal to true (no SQL error is thrown)
  • emailMe=1, (bool)$emailMe is equal to true (no SQL error is thrown)

When using the PDFReport UI and unticking the email me checkbox, the request to the API is made with emailMe=0 and displays the SQL error. Same is true for plugins/PDFReports/tests/PDFReports.test.php#L131

@julienmoumne commented on April 25th 2011 Member
@robocoder commented on April 25th 2011 Contributor

isn't the first case also a problem?

Does Snover's July '09 patch work? (We won't be upgrading to ZF2 because it requires php 5.3 features.)

@julienmoumne commented on April 25th 2011 Member

(In [4549]) refs #2360

@julienmoumne commented on April 25th 2011 Member

The patch for Zend Framework does work but not in all cases.

When an insert statement is cached core/Db/Adapter/Pdo/Mysql.php#L182, it does not go through core/Db/Adapter/Pdo/Mysql.php#L193, hence, doesn't go through libs/Zend/Db/Adapter/Pdo/Abstract.php#L228 where the patch is applied.

@mattab commented on April 26th 2011 Member

(In [4551]) Refs #2360 does this fix it Julien? on my box it works before so I cant tell

@julienmoumne commented on April 26th 2011 Member

This patch works. Shouldn't this be done in a more generic way ?

Also, (int)'true' equals 0, but I guess it's ok.

@mattab commented on April 26th 2011 Member

It should, but if the bug is in Zend there is not much we can do appart from submitting them the patch ;-)

This Issue was closed on April 26th 2011
Powered by GitHub Issue Mirror