php - MySQL 查询中的逗号

标签 php mysql

$sql_query_posts = "SELECT * FROM `posts`";

$sql_form_permission = mysql_query("SELECT * FROM `integrations` WHERE `rank_id`='$user_level' AND `mode`='form_per'");
    if ( mysql_num_rows($sql_form_permissions) > 0 ) {

现在我正在努力的部分:

   $sql_query_posts .= " IN (";
    while ( $row_form_permissions = mysql_fetch_assoc($sql_form_permissions) ) { 
    $sql_query_posts .= $row_form_permissions['form_id'] . ",";
    }
    $sql_query_posts .= ")";
    }

我希望输出是这样的:

SELECT * FROM `posts` IN (4, 3, 2)

但是上面的代码给出了这样的输出:

SELECT * FROM `posts` IN (4, 3, 2,)

所以我必须去掉最后的逗号。我怎样才能确保脚本禁用最后一行的逗号。

最佳答案

我会为此使用 implode:

$post_ids = array();
while ( $row_form_permissions = mysql_fetch_assoc($sql_form_permissions) ) { 
    $post_ids[] = $row_form_permissions['form_id'];
}

$sql_query_posts .= " IN (" . implode(",", $post_ids) . ")";

关于php - MySQL 查询中的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17008424/

相关文章:

php - Laravel 验证或

php - 下一个 jquery 不起作用,我的代码是正确的

php - Google 的 GMail API 下载附件

mysql - SQL - 多个拥有的项目

php - 我有来自 mysql 的数据,但错误地转换为 JSON

从 MySQL 进行 PHP 查询而不重复

PHP password_verify 总是返回 false

NULL 值的 MySQL 基数

php - 多次发布表单数组

php - 获取同一列上具有不同数据的行