使用绑定查询
$sth = $dbh->prepare("insert into tbl_name(col_one,col_two) values(?,?)"); $sth->execute($val1, $val2);
如果使用绑定变量,则会为您转义所有内容.
更新:更改了我的示例以与编辑到问题中的示例相对应.
更新:我不知道为什么亚当删除了他的答案,但如果由于某种原因你不能使用绑定变量(又名"占位符"),你也可以使用$dbh->quote($var)
变量.例如:
$sql = sprintf "SELECT foo FROM bar WHERE baz = %s", $dbh->quote(q("Don't"));