Hey,
The placeholders (?) are safely escaped by the DBI library -- your
query that gets submitted to the server actually looks like:
CREATE TABLE IF NOT EXISTS CS_ 12569 (
ID_NO MEDIUMINT,
NAME VARCHAR(30),
TYPE CHAR(1)
)
I think it puts the space in, but it might actually be quoting it.
I would do something like:
$dbh-do(sprintf(CREATE TABLE IF NOT EXISTS CS_%d (
ID_NO MEDIUMINT,
NAME VARCHAR(30),
TYPE CHAR(1)
), $T_NO));
out.
On Wed, 16 Mar 2005 10:10:39 -0800 (PST), Richard Reina
[EMAIL PROTECTED] wrote:
Dear MySQL Developers and Enthusiasts,
when I run these lines of code :
my $T_NO = 12569;
use DBI;
my $dbh =
DBI-connect(DBI:mysql:database=carr_search;192.168.0.1,user,password);
my $q = CREATE TABLE IF NOT EXISTS CS_? (
ID_NO MEDIUMINT,
NAME VARCHAR(30),
TYPE CHAR(1)
);
my $sth = $dbh-prepare($q);
$sth-execute($T_NO);
from w/in a program I get:
DBD:mysql::st execute failed: You have an error in
your SQL syntax near '12569 (
ID_NO MEDIUMINT,
NAME VARCHAR(30),
TYP' at line 2 at ./carr_s.pl line 36.
However if I cut and paste the exact same code and
make it it's own program then execute it, it works
perfectly. Can anyone tell me what's happening and how
I can fix it?
Thanks,
Richard
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]