2017-08-25 59 views
-2

我是PHP-MySQL数组函数的新手。所以我需要以下方面的帮助:如何从MySQL表中获取多个电话号码并通过逗号分隔在PHP中将它们存储在变量中?

我需要从PHP中的MySQL表“用户”中选择所有用户的电话号码,然后需要将电话号码存储在变量中。所有的数字应该用“,”(逗号)分隔。

我曾尝试:

$stmt = $mysqli->prepare("SELECT phone FROM users WHERE status = ?"); 
    $stmt->bind_param('i',$status); 
    $stmt->execute(); 
    $stmt->store_result(); 
    $stmt->bind_result($phone); 
    while ($stmt->fetch()) 
    { 
     $allphones = "$phone,"; //need help here. 
    } 
    $stmt->close(); 

我需要什么:

$allphones = "9999999990,9999999991,9999999992,9999999993"; 

所有的电话号码应该用逗号像高于变量分隔(,)和存储。

任何帮助将不胜感激!谢谢!

+1

** $ allphones。 =“$ phone,”; **循环后$ allphones = rtrim($ allphones,','); –

+0

如果您想知道@ 404BrainNotFound刚刚做过,那么这里是解释。当您将每部手机连接到'$ allphones'变量时,字符串末尾会有一个额外的逗号。使用'rtrim'(右修剪)功能,我们将在循环结束后从右侧删除最后一个逗号。 – Spectarion

+1

*“所有的数字都应该用”,“(逗号)分隔。”* - 这听起来不是一个好主意。你是想将这些“存储”在数据库中,还是已经存储在数据库中?这个问题还不清楚(对我来说)。 –

回答

0

单程。您也可以获取所有内容以避免声明和初始化新数组(allphonesArray)。随你便。

$stmt = $mysqli->prepare("SELECT phone FROM users WHERE status = ?"); 
$stmt->bind_param('i',$status); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($phone); 

$allphonesArray = array(); //New array 
while ($stmt->fetch()) 
{ 
    $allphonesArray[] = $phone; //Add each phone value to the array 
} 
$stmt->close(); 

$allphonesString = implode(',', $allphonesArray); //Concatenate every element and separate them with ',' 
echo $allphonesString; 
相关问题