0

我正在使用 PHP 的 PDO 与 MySQL 数据库进行交互。我目前正在使用以下代码来确保电子邮件地址始终为小写,以确保在插入/更新时没有重复或在搜索时找到电子邮件。

有人可以告诉我这是否可以,还是使用 SQL 或 PHP 转换为小写的方式更好?

$sql = "UPDATE table SET name=:name, LOWER(email)=:email WHERE id = :id";
$st->bindValue(":email", strtolower($this->email), PDO::PARAM_STR);
4

2 回答 2

2

您无法写入,LOWER(email)也没有必要,因为无论如何您总是通过 PHP 插入小写版本。只需将其更改为email.

于 2012-09-25T15:52:44.063 回答
1

最好的方法是在将数据输入数据库之前始终准备好数据。所以换句话说,所有的情况都在 php.ini 中改变。

在这种情况下,您可以使用:

strtolower($str)

我看到你在使用,这很完美。这很好,你可以在这里停下来。

于 2012-09-25T16:25:57.937 回答