如何以逗号分隔的字符串输出数组的内容?

时间:2008-11-18 02:46:18

标签: php arrays

我想将数组转换成逗号分隔值的字符串,以便在MySQL UPDATE查询中使用。我该怎么做?

5 个答案:

答案 0 :(得分:13)

implode(',', $array);

答案 1 :(得分:13)

请记住逃避价值观:

'"' . implode('","', array_map('mysql_real_escape_string', $data)) . '"'

答案 2 :(得分:2)

确保在执行查询之前通过mysql_real_escape_string()传递结果。如果你像其他人所说的那样使用implode(),这应该可以防止sql注入。

正如nickf提到的那样,总是检查以确保数组不是空的或者先是null,并处理这些情况。因为你只处理int,所以在你的赋值中放一些类型检查也没什么坏处,否则如果一个字符串以某种方式滑落你就会得到sql错误。

答案 3 :(得分:1)

通常这种情况是人们从另一个表构建数组以用于第二个查询。如果是这种情况,您可以使用子查询来完成此操作。

EG。 UPDATE表SET列=值WHERE ID IN(从表2中选择ID ID条件)

答案 4 :(得分:0)

如果所有ID都应该是数字的话,这可能会更好。 检查它是否包含至少一个带

的整数
$ids = array_filter($ids, 'is_int');
if (!$ids) {
    //no valid ids returned.
    die('or something');
}
$sql .= '(' . implode(',', $ids) . ')';