DB Error: mismatch (in a PHP script)
August 28, 2007
If you get something like the “DB Error: mismatch” message in a PHP script, this is probably caused by a bug in the script. If I get it right, the message means: there is a mismatch between the number of placeholders (e.g. “?” signs) in your database query and the number of parameters given to the query() method.
For instance, if your query is “SELECT * FROM people WHERE honesty>3″, but you mistakenly call it like this:
$dbh-> query( "SELECT * FROM people WHERE honesty>3", $threshold );
Where you probably meant:
$dbh-> query( "SELECT * FROM people WHERE honesty>?", $threshold );
I think this is reported by the DB_Common class (since a certain version).
On the topic:
Subversion / Apache griefs: can’t commit, MERGE failed
March 3, 2007
Installed Subversion. Configured Apache to run as a Subversion server. Seems to work. I even tried some WebDAV applications (davfs) on it. Work. Not perfectly (some strange errors), but it does work.
Until I tried to checkout, modify and commit with SVN itself:
svn: Commit failed (details follow): svn: MERGE request failed on '/' svn: Can't open directory '/home/ivan/bsite/svn-repo/db/transactions/0-1.txn/transactions': No such file or directory
No matter what I tried SVN can’t commit into a repository without an error.
Turns out this problem is caused by Apache and Subversion being compiled against different versions of the APR libraries. I got it fixed by rebuilding apache and subversion from their fresh sources.
Thank you, Christopher Ness! Your post helped me a lot.
Low-profile AGP video card with 3D acceleration
January 23, 2007
I was looking for a good low-profile AGP video card. nVidia GeForce- or ATI Radeon-based. With DVI output. Preferably silent (with no cooler). Here is what I’ve found so far.
nVidia GeForce:
- Gigabyte GV-N62128DS or GV-N55128DS
- Asus N6200/TD/128M
- XFX Geforce 6200 AGP: PVT44APANG, PV-T44A-WANG.
- MSI Video 8998010 GeForce FX5200 or MSI GeForce 6200 (NX6200AX-TD128LF).
ATI:
- SAPPHIRE 100576L Radeon 9550SE 128MB DDR AGP 4X/8X Low Profile
- PowerColor RADEON 9200SE AGP.
- Gigabyte GV-R925128DE.
- Asus A9250/TD/128M.
And I got myself Asus N6200/TD/128.
The problem with nVidia cards is that their Linux driver is closed source. That wouldn’t be a problem at all if the driver in it’s current state didn’t break one important thing in my PC usage: hibernate function (swsusp, to be precise). With an old Radeon I could send my PC to sleep and be 100% sure that it would wake back up. Not anymore with GeForge 6200 and the latest nVidia driver.
UPDATE: This post and this patch are no longer needed. A new version of XML::LibXSLT fixes the error reporting and some other issues. Below is the original post for purely historical reasons.
XML::LibXSLT is a perl module, written and maintaned by Matt Sergeant. The module provides access to the fine Gnome project’s XSLT library libxslt. XML::LibXSLT versions up to and including 1.58 have one serious deficiency though: they provide rudimentary reporting of XPath and XSLT processing errors.
This patch tries to fix this deficiency and makes XML::LibXSLT die in case of error with a full error message, often multiple lines. The generated message will be similar to the one xsltproc tool would produce.
Get the patch
Download: xml-libxslterror-reporting-patch.txt
A summary of the patch changes follows.