php - 将行与数组中的元素进行匹配

标签 php mysql

我有一个 sql 请求,需要使用 php 数组来查找搜索栏的所有出现位置。

我无法完成这件事。这是我的代码:

    $texte = $_POST['texte'];
    $texte = explode(" ", $texte);
    $query_parts = array();

    //Proximité
    foreach ($texte as $value) {
        $value = "%".$value."%";
    }



    $sql = "SELECT * FROM PROXIMITE WHERE titrefr LIKE ':texte'";
    $req = $bd->requete_obj($sql, array('texte'=>$texte));

    while($select = $req->fetch()){
        error_log('Test');
    }

最佳答案

您的 foreach 循环实际上并没有修改变量,因为它们是通过 Value 传递的 - 意味着副本。 要修改它们,您必须通过引用传递它们:

foreach ($texte as &$value) {
    $value = "%".$value."%";
}

这样,数组中的实际值就会被操纵。

其次:您不能为数据库提供数组作为参数。相反,您可以循环遍历数组。如果您在第一个循环中实现它,您甚至不必再使用引用:

$sql = "SELECT * FROM PROXIMITE WHERE titrefr LIKE :texte";
foreach ($texte as $value) {
    $value = "%".$value."%";
    $req = $bd->requete_obj($sql, array('texte'=>$value));
    while($select = $req->fetch()){
        error_log('Test');
    }
}

关于php - 将行与数组中的元素进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39776141/

相关文章:

php - 电子商务,存储订购的产品和产品选项

mysql - 错误设置 MySQL : Table 'mysql.plugin' doesn't exist

php - 如何获得给定数据库的另一个根

javascript - Ajax 成功需要一些 php JSON 对象

php - 在 Woocommerce 中获取无费用和折扣的订单总额

php - 从 mysql 自动填充下拉列表

mysql - phpmyadmin 中的日期格式正则表达式测试

mysql - 如何在jsp中显示从mysql检索到的图像。我正在使用struts2和tiles

mysql - 如何在mysql中插入多表查询?

php - MongoDB(Mongoose 和 Mongo 客户端 PHP)在 concat 字段中搜索