Re: 1 cset was pushed to core/sqlite: - replacing a & with @ to suppress the e...
"Jason Judge" <[email protected]>
| Newsgroups | gmane.comp.cms.xaraya.bk-notices |
|---|---|
| Organization | Xaraya |
| Message-ID | <[email protected]> |
"Marcel van der Boom" <[email protected]> wrote in message news:[email protected]... > Agreed, that was the case initially. However, that makes things > unnecessary hard. The error hiding is only warranted when a statement > is made deliberately to fail and check for the outcome and react to > that. In all other cases it just hides the error. > That has been a bug for a long time and it took me a while to sort out > why xar_pages didnt install, because you just go looking in the wrong > direction, because the error displayed is merely a consequence of the > real error. > > I made a note in the code to the extent of: "We dont wanna do this > here, but at the driver level, but we cant right now" I may not have been clear: the ADOdb drivers should not throw PHP errors or warnings, no matter what SQL is thrown at them, so there is no need to use '@' to suppress errors in the Execute() method. The drivers themselves should be catching those errors and making them available to ADOdb though the ErrorMsg() method. When the driver _query() method is called, it is already called up with an '@' to suppress its PHP errors. I think the problem is that the sqlite driver over-rides the Execute() method, which none of the other drivers do, and it doesn't carry forward the PHP error suppression that the standard Execute() method does. -- JJ