【发布时间】:2017-05-19 05:10:11
【问题描述】:
我正在使用 PDO 从我的数据库中选择一些值。
对于我的 $teachArray 的每次迭代,我将选定的数组存储到我的 $language_id 变量中。
然后,我删除了 $language_id 中的所有空数组并将其分配给我的 $NoEmptyArray_language_id
但是,我只将 $language_id 中的最后一个数组存储在 $NoEmptyArray_language_id 中。
我想将 $language_id 中的每个数组连接成 $NoEmptyArray_language_id。
我不能使用$NoEmptyArray_language_id .= $language_id;,因为它会给我一个错误:数组到字符串的转换
这是我的简单查询。
$sqlFindId = "SELECT language_id
FROM language_skill
WHERE person_id = :person_id AND language_learning = :language_learning AND language_id = :language_id";
$NoEmptyArray_language_id = "";
foreach ($teachArray as $dataTeach)
{
$query = $handler->prepare($sqlFindUser);
$query->bindValue(':person_id', $_SESSION['person_id']);
$query->bindValue(':language_learning', 1);
$query->bindValue(':language_id', $dataTeach);
$query->execute();
$language_id = $query->fetchAll(PDO::FETCH_COLUMN, 0);
if ( count( $language_id ) != 0 ) {
$NoEmptyArray_language_id .= $language_id;
}
}
print_r($NoEmptyArray_language_id);
【问题讨论】:
-
听起来很混乱。也许告诉我们你的最终目标是什么。
-
我只想将 $language_id 中的值添加到 $NoEmptyArray_language_id
-
这听起来像是
JOIN的候选对象,因此您不必执行“N+1”加载,每次都通过某个循环猛击查询。