如何往数据库中放含有单引号 ' 的项?

如何往数据库中放含有单引号 ' 的项?

如何往数据库中放含有单引号 ' 的项?
我是新手。我想往 MySQL 数据库中存放我的音乐列表,于是写了个 Perl 脚本,见下:

[code]
#!/usr/bin/perl

use File::Find;
use DBI;
$dbh = DBI->connect("dbi:mysql:dbname=filetest",'root','');
find(\&wanted, "/home/tsy/Music");
$dbh->disconnect;
sub wanted
{
$file=$File::Find::name;
if(-f $file)
{
$sql = "INSERT INTO filename VALUES('$file')";
$rc = $dbh->do($sql);
}
}
[/code]

但是我发现,一旦遇到带有单引号“'”的歌名,如 I'll never break your heart,只要碰到 I 后面的那个 ' 那后面的内容就无法往数据库里添了,数据库把它当成一个结束符了,这怎么解决啊?
前面加反斜杆 \...
前面加反斜杆 \"
$sth = $dbh-&g...
$sth = $dbh->prepare($statement);
$rc = $sth->bind_param($p_num, $bind_value);
$rv = $sth->execute;

这样用可以自动转义的
$sql = "INSER...
$sql = "INSERT INTO filename VALUES('$file')";

改为
[quote] $sql = "INSERT INTO filename VALUES(".$dbh->quote($file).")";[/quote]

一切被insert的都做此修改。
谢谢大家!...
不过有时候$dbh...
不过有时候$dbh->quote($sql),并不一定执行转义哦,还是用bind比较好,保险。