Używam PDO PHP do interakcji z bazą danych MySQL. Obecnie używam następującego kodu, aby upewnić się, że adres e-mail jest zawsze pisany małymi literami, aby upewnić się, że nie ma duplikatów podczas wstawiania/aktualizowania lub znajdowania wiadomości e-mail podczas wyszukiwania.

Czy ktoś może mi powiedzieć, czy jest to w porządku tak, jak jest, czy lepiej jest użyć metody SQL lub PHP do konwersji na małe litery?

$sql = "UPDATE table SET name=:name, LOWER(email)=:email WHERE id = :id";
$st->bindValue(":email", strtolower($this->email), PDO::PARAM_STR);
0
Zoolander 25 wrzesień 2012, 19:51

2 odpowiedzi

Najlepsza odpowiedź

Nie możesz pisać do LOWER(email) i jest to również niepotrzebne, ponieważ i tak zawsze wstawiasz wersję pisaną małymi literami przez PHP. Po prostu zmień go na email.

2
Explosion Pills 25 wrzesień 2012, 19:52

Najlepszym sposobem jest przygotowanie danych przed wprowadzeniem ich do bazy danych. Innymi słowy, wszystko zmieniaj się w php.

W tym przypadku możesz użyć:

strtolower($str)

Które widzę, że używasz i to jest idealne. To jest w porządku i możesz się tutaj zatrzymać.

1
James Billings 25 wrzesień 2012, 20:25