我需要将一个字符串分成多个部分。该字符串是一组唯一的用户名,但是我检索了三个名称以及它们之间的空格。我需要在一个结尾和另一个开头之间放置一些',以便可以将它们用于MySQL Query。

我已经使用了数组,但是这次有所不同,因为此字段充满了数据库中的数据。

如果添加/删除了用户,它将使用数组,但如果没有,它将使用我要格式化的字符串。

我现在有这段代码:

$Pessoas2=  implode(" ", $_POST['Pessoas']);
 $Pessoas2 = str_replace(';', ' ' , $Pessoas2);

(...)

$to = mysqli_query($con,"SELECT Email FROM utilizadores WHERE Nome IN ( $Pessoas2)");

while ($row = mysqli_fetch_assoc($to)){
    echo $row['Email'];
    echo ";";

 foreach ($row as $destino);

 echo $destino;

最佳答案

从您的问题中不确定$_POST['Pessoas']是用户名用空格分隔的字符串还是数组。

如果是用空格分隔的字符串,请尝试:

$Pessoas2 = "'" . preg_replace('/ /', "','", $_POST['Pessoas'])) . "'";


如果是数组,请尝试:

$Pessoas2 = "'" . implode("','", $_POST['Pessoas'])) . "'";


然后像编写时一样在查询中使用$Pessoas2

10-02 20:21