RE: Prepare error
- From: martin.evans@xxxxxxxxxxxx (Martin J. Evans)
- Date: Tue, 21 Feb 2006 10:11:51 -0000 (GMT)
On 20-Feb-2006 Adam Boswell wrote:
Hello,
I am trying to run a prepare("check table ***on all tables**") and I am
getting an error "DBD::mysql::db prepare failed: This command is not
supported in the prepared statement protocol yet". However the process still
runs and it sends it to mysql and works, BUT then the process never finishes
and it spawns all kinds of problems. Is there a way around this or a fix for
this?
~Adam
You could try setting mysql_emulated_prepare as per the DBD::mysql
docs to see if that helps.
I think this explains some code in DBD::mysql I was unsure about recently.
I'm guessing you'd need to add "check" to the list of commands tested for in
dbdimp.c in dbd_st_prepare (but this code only exists in 3.0002_4).
e.g. like
if ( (statement[i] == 'c' || statement[i] == 'C') &&
(statement[i+1] == 'r' || statement[i+1] == 'R') &&
(statement[i+2] == 'e' || statement[i+2] == 'E') &&
(statement[i+3] == 'a' || statement[i+3] == 'A') &&
(statement[i+4] == 't' || statement[i+4] == 'T') &&
(statement[i+5] == 'e' || statement[i+5] == 'E'))
{
if (dbis->debug >= 2)
PerlIO_printf(DBILOGFP, "CREATE set use_server_side_prepare to 0\n");
imp_sth->use_server_side_prepare= 0;
}
But that is a guess. Like the entry in the ChangeLog:
* Fix that sets mysql_server_prepare to 0 if SQL statement is 'SHOW ...'
which is not supported by prepared statement API currently
Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com
.
- References:
- Prepare error
- From: Adam Boswell
- Prepare error
- Prev by Date: Re: Strange error when doing insert into DB
- Next by Date: How to Populate Drop-down list Dynamically.
- Previous by thread: Prepare error
- Next by thread: DBD::Sybase and IQ anomaly.
- Index(es):
Relevant Pages
|