我在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');
我也尝试使用?
转义\?
但是没有用。
有什么想法吗?
答案 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");