php
  • mysql
  • 2012-08-13 85 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來操縱結果。

    相關問題