向mysql里插入的数据里面含有单引号,改如何处理

向mysql里插入的数据里面含有单引号,改如何处理

$sth=$dbh->do("INSERT INTO english (id,Summary)VALUES($content[1],'$content[2]')");

Summary为TEXT类型的,现在的问题是$content[2]里面含有单引号,导致总是插入错误,我已经调试过了,确定是$content[2]的问题,请达人帮忙。

$content[2]内容如下:
The HotSaNIC (hotsanic.sourceforge.net) System and Network Info Centre can graph the occurence of worms attacks on a server against time. The HotSaNIC system displays 'WEB-IIS cmd.exe access ' attempts on the server in an image file named thumb-cmd.exe.gif. Each time this image is accessed it generates an event.
$quoted_string = $dbh->quote($string);
楼上正解
quote方法生成两端带单引号的String,如果传给它的参数里包含单引号则自动转义。

LZ的问题还有更方便的写法:
$sth=$dbh->prepare("INSERT INTO english (id,Summary) VALUES (? , ?)");
$sth -> execute($content[1] , $content[2])
这种情况也是自动调用quote方法,方便重复使用的。