パフォーマンス以外のこれら2つのクエリの結果に違いはありますか?パーセント記号のないSQL LIKEとWHERE句の等号(=)の相違
SELECT * FROM pet WHERE name LIKE 'Spot';
SELECT * FROM pet WHERE name = 'Spot';
理由実際のスクリプトは次のようなものになりますが、APIユーザーはパターンを思いつく責任があります。多くの場合そうではなく、LIKEパターンが提供されますが、文字列を指定すると常にSELECT * FROM pet WHERE name LIKE "Spot"
になる可能性があります。 実際で
$stmt = $this->pdo->prepare('SELECT * FROM pet WHERE name LIKE ?');
$stmt->execute([$_GET['name']]); //Spot
return [$stmt->fetchAll(),200];
DBMSが標準SQLに従っている場合、末尾にスペースがあると違いがあります。「名前のような 'Spot」は「Spot」とは一致しませんが、「=」はそれになります。 – dnoeth