php - 维护用户列表 - MySQL/PHP

标签 php mysql list

我有一个表memberships

我为我的用户提供了一个文本框,其中有memberships 中的当前电子邮件列表。他们可以编辑列表。一旦他们发回列表,我想更新成员资格,使其包含用户提供的列表中的电子邮件。

我能想到的最好的方法就是删除所有电子邮件,然后将整个列表重新插入。有没有更好的方法?

我现在在做什么:

  $mysql->query('DELETE FROM memberships');

  $userEmails = explode('\n', $_POST['users']);
  foreach ($userEmails as $email)
    $mysql->query('INSERT INTO memberships (email) VALUES (?)', $email);

最佳答案

这样的东西可能就是您正在寻找的东西(未经测试)。在查询中使用之前不要忘记转义您的输入以防止 sql 注入(inject)。

$userEmails = explode("\n", mysql_real_escape_string($_POST['users']));
$mysql->query("DELETE FROM `memberships` WHERE `email` NOT IN ('".implode("','", array_values($userEmails))."');");
$mysql->query("REPLACE INTO `memberships` (`email`) VALUES ('".implode("'),('", array_values($userEmails)).");");

关于php - 维护用户列表 - MySQL/PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8812888/

相关文章:

python - 给定一个标记为 1 到 N 的列表 L,以及一个考虑随机元素 "removes"的过程,如何有效地跟踪 min(L)?

python - 如何计算列表中子列表的出现次数并将它们显示为 dict

javascript - 从 JS 传递变量并在 PHP 中使用它不起作用

php - 当我访问我的 magento 网站时收到 php 错误

php - 通过Id更新sql中的值

database - 什么是排名系统的好设计

MySQL Alter 表导致错误 : Invalid use of NULL value

java - 如何使用 Streams 将二维列表转换为一维列表?

php - 计算 PHP 中的访问者并保存到数据库

php - 使用 laravel 更新表格