php - 跳过 foreach 循环内的结果 - pdo

标签 php mysql pdo

在我的数据库中,我存储了电子邮件地址。在 foreach 循环中,如何跳过所有包含 @sample.com.ru 的电子邮件地址?

$sql = "SELECT * FROM myMovieCustomers";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();

foreach ($result as $row) {
    //skip if $row['email'] contains @sample.com.ru{
        //do someting with these
    //}
} 

最佳答案

出于几个原因,在数据库级别进行过滤效率更高

  • 您不会浪费网络资源通过线路传输不需要的数据
  • 有了索引良好的表,DBMS 进行搜索的速度将比 php 搜索结果数据的速度快

正如评论和其他答案中指出的那样,您可以使用 LIKE运算符(operator)

$sql = "SELECT * FROM myMovieCustomers WHERE email NOT LIKE '%@sample.com.ru'";

关于php - 跳过 foreach 循环内的结果 - pdo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37551083/

相关文章:

php - 从服务器上的数据库加载列表中的图像

mysql - 在事务中使用 MySQL Insert Delayed 时会发生什么?

mysql - 分层数据 - 嵌套集模型 : MySql

laravel - 在 Laravel 中更改基本 PDO 配置

PHP PDO : How to call stored procedure to pass comma separated string to parameter

php - PHP和C++之间的套接字连接

php - 将值从 angular.service 传递到 php 文件

php - 传递 html 文件并使用 php 从表中获取值?

php - IP冲突mysql

php - 使用 PHP 表单中的复选框收集多个信息