我对PHP和PDO还是很陌生,并且一直在从简单的数据库中获取记录。我创建并成功完成了此操作,但是由于某种奇怪的原因,当我fetchAll()
记录并在<br>
语句中添加echo
标记时,它会添加一个额外的{{1 }}在我的输出中的任意位置。我不确定为什么会这样。这是因为数据库中有多余的空白吗?
我试图在网上以及其他有关SO的主题中寻找解决方案;也许我找不到合适的位置。
我感觉这是空格的问题,也许我需要为此使用<br>
?
这是我的代码:
trim
答案 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
}
这应该消除您的空值/空值成为结果集的一部分。