问题需要保证文本或二进制数据对于查询是安全的。
解决方案
使所有查询都使用占位符,这样prepare()和execute()就能对字符串完成转义。使用占位符的不同方法。如果需要自行转义,可以使用PD0::quote()方法。
在极少数情况下,可能希望对来自用户输入的SQL通配符进行转义。
手动加引号
$safe =$db->quote($ GET['searchTerm']);
$safe = strtr($safe,array('' => '_', '%' => '%'));
$st = $db->query("SELECT * FROM zodiac WHERE planet LIKE $safe");