我知道我以前做过这件事。我不知道为什么我在努力做这么简单的事情。
我要做的就是在逗号分隔的字符串中添加单引号。
php进程最初看起来像这样:
<?php
$checknumber = mysqli_real_escape_string($dbc,trim($_POST['checknumber']));
$splitnumber = preg_replace('/\n$/','',preg_replace('/^\n/','',preg_replace('/[\r\n]+/',"\n",$checknumber )));
$numbers = "'" . implode("', '", $splitnumber ) ."'";
echo $checknumber;
echo $splitnumber;
echo $numbers;
?>
结果如下:
// $checknumber
AMD111111,AMD222222,AMD333333
// $splitnumber
AMD111111,AMD222222,AMD333333
// $numbers
''
我需要$ number的结果看起来像这样:
'AMD111111','AMD222222','AMD333333'
有趣的是,我正在使用我之前使用过的一段代码。所以我不知道为什么代码不能在这里工作。
答案 0 :(得分:2)
implode()函数需要一个数组作为第二个参数。 看起来你的$ splitnumber只是一个简单的字符串,而不是一个字符串数组,应该是它。 尝试使用explode()函数用逗号分割你的$ splitnumber,并将其结果放在implode函数中。
看起来应该是这样(未经测试):
$splitnumber = ...;
$splittedNumbers = explode(",", $splitnumber);
$numbers = "'" . implode("', '", $splittedNumbers) ."'";
可能只需用&#39;替换所有出现的更清晰的解决方案。
答案 1 :(得分:-1)
您的内爆未正确设置。
$numbers = "'" . implode("','", $splitnumber) . "'";