php
  • mysql
  • 2012-08-13 219 views 0 likes 
    0

    我已经阅读了一些其他类似的帖子,但我似乎无法很好地实现它们。我从另一个程序调用一个php脚本,该程序需要将一个变量,空格或逗号分隔的结果返回。 PHP连接到一个数据库(没有问题),并运行一个查询,将返回2到6左右匹配行。我需要将这些结果放在一个变量中,但似乎无法得到它。将查询结果存储到一个变量中

    这里是我卡住的地方。

    $t = "SELECT user FROM call_times WHERE client='$clientid' AND start <= $date AND end >=   $date"; 
    $result = mysql_query($t) or die(mysql_error()); 
    while ($row = mysql_fetch_array($result)) { 
    
    $temp = $row['user']; 
    } 
    echo $temp; 
    

    该查询运行正常,但您可以从代码中看到我正在尝试(和失败)在下方执行的操作。我需要$ temp来保存结果列表(例如:5567889 57479992 4335780(其中每个都是用户列中的不同条目))。

    非常感谢!

    +0

    它可能无法回答你的问题,但你应该停止使用'mysql_ *'函数。他们正在被弃用。请使用[PDO](http://php.net/manual/en/book.pdo.php)(自PHP 5.1起支持)或[mysqli](http://php.net/manual/en/book)。 mysqli.php)(自PHP 4.1起支持)。如果你不确定使用哪一个,[阅读本文](http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/)。 – Matt 2012-08-13 21:03:28

    +0

    另外,你有没有尝试过['group_concat()'](http://mahmudahsan.wordpress.com/2008/08/27/mysql-the-group_concat-function/)? – Matt 2012-08-13 21:04:23

    回答

    3
    $array = array(); 
    while ($row = mysql_fetch_array($result)) { 
        $array[] = $row['user']; 
    } 
    
    $string = implode(" ", $array); 
    

    现在$ string的空格分隔值为user列。

    祝你好运!

    +0

    这样做,非常感谢! – Milksnake12 2012-08-13 21:04:43

    1

    尝试group_concat()并且您将不需要PHP来操纵结果。

    相关问题