循环结果集显示其他br标签

时间:2018-07-03 23:13:11

标签: php pdo prepared-statement filtering resultset

我对PHP和PDO还是很陌生,并且一直在从简单的数据库中获取记录。我创建并成功完成了此操作,但是由于某种奇怪的原因,当我fetchAll()记录并在<br>语句中添加echo标记时,它会添加一个额外的{{1 }}在我的输出中的任意位置。我不确定为什么会这样。这是因为数据库中有多余的空白吗?

我试图在网上以及其他有关SO的主题中寻找解决方案;也许我找不到合适的位置。

我感觉这是空格的问题,也许我需要为此使用<br>

这是我的代码:

trim

Output in Browser I'm getting

1 个答案:

答案 0 :(得分:0)

未经测试,但逻辑应为真:

$dbo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_NUM);  // fetch as indexed array
$dbo->setAttribute(PDO::NULL_TO_STRING: NULL);                     // nulls to empty strings

$nots = [
    '', 
    $admin,
    $adminLive,
    $adminType,
    $customusDomestic,
    $adminChina,
    $adminIndia,
    $adminCustom,
    $customusaustinCulver,
    $customuschinaTokyo,
    $customcorkuaeBayarea,
    $customchinashanghaiBeijing,
    $adminselfMoves,
    $adminmilanVienna,
    $custombayareaSeattle
];

$placeholders = implode(',', array_fill(0, count($nots), '?'));

$sql = "SELECT DISTINCT usergroup FROM plus_signup WHERE usergroup NOT IN ($placeholders)";
try {
    $stmt = $dbh->prepare($sql);
    $stmt->execute($nots);
    $usergroups = $stmt->fetchAll();
    echo implode('<br>', $usergroups);
} catch (PDOException $e) {
    echo $e->getMessage();  // not to be shown publicly
}

这应该消除您的空值/空值成为结果集的一部分。