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