クエリに PDO を使用していますが、リクエストが無効になるため、「&」をエスケープしようとしています。私はすでに mysql_real_escape_string と pdo quote を試しました...両方とも「&」をエスケープしませんでした。私の価値観は、たとえば「James & Jack」です。
コネクタとして:
$this->connect = new PDO("mysql:host=$db_host;dbname=$db_name;", $db_user, $db_pass,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
クエリとして:
function check_exist($query,$parameter)
{
try
{
$this->connect->prepare($query);
$this->connect->bindParam(':parameter', $parameter, PDO::PARAM_STR);
$this->connect->execute();
return $this->connect->fetchColumn();
unset ($query);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
最後に行動を促すフレーズ
$db = new database;
$db->connect('framework','localhost','root','');
$result = $db->check_exist('SELECT COUNT(*) FROM cat_merge WHERE cat=:parameter',$cat);