【问题标题】:How to fetch multiple phone numbers from MySQL table and store them in a variable by comma separated in PHP?如何从 MySQL 表中获取多个电话号码并将它们存储在 PHP 中以逗号分隔的变量中?
【发布时间】:2017-08-25 13:07:05
【问题描述】:

我是 PHP-MySQL 数组函数的新手。所以我需要以下帮助:

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

我尝试过的:

    $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";  

所有电话号码都应该用逗号 (,) 分隔,并存储在上面的变量中。

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

【问题讨论】:

  • $allphones 。 = "$phone,"; 循环后 $allphones=rtrim($allphones,',');
  • 如果您想知道 @404BrainNotFound 刚刚做了什么,那么这里是解释。当您将每个电话连接到$allphones 变量时,字符串末尾会有一个额外的逗号。使用rtrim(右修剪)功能,我们将在循环结束后从右侧删除最后一个逗号。
  • “所有数字都应该用“,”(逗号)分隔。” - 这听起来不是个好主意。您是想将它们“存储”在数据库中,还是它们已经存储在数据库中?这个问题不清楚(对我来说)。

标签: php mysql arrays mysqli prepared-statement


【解决方案1】:

一种方式。您还可以获取 all 以避免声明和初始化新数组 (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;

【讨论】:

    猜你喜欢
    • 2022-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    相关资源
    最近更新 更多