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);
2 odpowiedzi
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
.
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ć.
Podobne pytania
Nowe pytania
php
PHP to szeroko stosowany, wysokopoziomowy, dynamiczny, zorientowany obiektowo i interpretowany język skryptowy przeznaczony głównie do tworzenia stron WWW po stronie serwera. Używane w przypadku pytań dotyczących języka PHP.