PHP 数组不在 foreach 循环外打印

PHP array is not printing outside foreach loop

我正在编写此脚本,主要功能是从数据库中获取带有逗号的数字,并在 curl 中使用它来发送带有 api 的短信。

if(isset($_POST['getnumber']))

    {
        $matchid2 = $_POST['matchid2'];
        //connect db
        require_once __DIR__ . '/../db_connect.php';
        $db = new DB_CONNECT();
        $con = $db->connect();        
        $results = $con->query("SELECT DISTINCT ur.mobile FROM matchmst mst INNER JOIN matchdetail dtl on mst.matchid=dtl.matchid INNER JOIN user ur on ur.userid=dtl.userid WHERE mst.matchid = '$matchid2'");
        // look through query
        $datas = array();

        while($row = $results->fetch_assoc()){
                $datas[] = $row;                                
            }

        foreach ($datas as $data) {
            $mobiles = $data['mobile'].",";
        }

    }

当我试图在 html 中回应这个时,我只从数组中得到一个值,即 84*******4,并且是空白的 但我想在 html

中打印完整的行
<div class="form-group">
        <?php echo '<label for="msg">'.$mobiles.'</label>'; ?>

</div>

那么我该如何解决这个求助。 提前致谢。

在读取数据的同时构建字符串比在更多循环中操作它更容易...

    $results = $con->query("SELECT DISTINCT ur.mobile FROM matchmst mst INNER JOIN matchdetail dtl on mst.matchid=dtl.matchid INNER JOIN user ur on ur.userid=dtl.userid WHERE mst.matchid = '$matchid2'");
    // look through query
    $mobiles = "";

    while($row = $results->fetch_assoc()){
            $mobiles .= $row['mobile'] . ",";                                
    }
    // Remove trailing , if needed
    $mobiles = substr($mobiles, 0, -1);

您还应该考虑使用准备好的语句来提高站点的安全性。