插入时出错?作为使用Perl的mysql中的值

时间:2014-10-28 11:29:49

标签: mysql perl

我在mysql中插入了一个网址。网址为?。因此,在使用Perl进行插入时,它会给出如下错误。

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax

查询:

insert into TEST_DB values (1, 'http://website.com/hfsda/xxx-xxx-xx/?xxxx=cccd');

我也尝试使用?转义\?但是没有用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不相信你说的是真的。我相信你实际上要求执行不同的查询。找出你实际执行的内容。


测试。

use strict;
use warnings;

use DBI qw( );

my $host   = 'localhost';
my $db     = '...';
my $user   = '...';
my $passwd = '...';

my $dbh = DBI->connect(
   "dbi:mysql:host=$host;database=$db",
   $user, $passwd,
   { PrintError => 0, RaiseError => 1 },
);

$dbh->do(q{
   CREATE TEMPORARY TABLE TempTable (
             id  INT,
             url VARCHAR(255)
          )
});

$dbh->do(q{
   INSERT INTO TempTable VALUES
          ( 1, 'http://website.com/hfsda/xxx-xxx-xx/?xxxx=cccd' )
});

print("ok\n");