Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ignorieren von Apostrophen in MySQL-Suchen

Ja, das können Sie, aber ich bin mir ziemlich sicher, dass alle Indizes ignoriert werden, die Sie in der Spalte haben. Und es ist ekelhaft.

Etwas wie

SELECT * FROM the_records 
WHERE replace(replace(replace(name, '''', ''), ',', ''), '&', '') = $NAME

Übrigens kann das Nehmen einer solchen get-Variablen und das Einfügen in die MySQL-Abfrage meines Wissens reif für die SQL-Injektion sein.

pg, ich weiß, Sie sagten, Sie können den Inhalt in der Datenbank, aus der Sie auswählen, nicht ändern/aktualisieren, aber hindert Sie irgendetwas daran, eine Tabelle in einer anderen Datenbank zu erstellen, auf die Sie Schreibzugriff haben? Sie könnten einfach eine Zuordnung von URL-Namen zu Firmennamen erstellen, und es wäre nur langsam, wenn Sie die Ersetzungsmethode zum ersten Mal anwenden.