too long

I am a completely newbie in programming php I would like to make this code below return many arrays(to flash as3), however I only receive one array.Can anyone please pinpoint what is my mistake here? thanks.

$data_array = "";
$i = 0;
//if(isset($_POST['myrequest']) && $_POST['myrequest'] == "get_characters")
//{
$sql = mysqli_query($conn, "SELECT * FROM ns_users ORDER BY Char_id");
while($row = mysqli_fetch_array($sql))
{
    $i++;
    $fb_name = $row["Username"];
    $fb_id = $row["Fb_id"];
    $fb_at = $row["Access_token"];
    $fb_sig = $row["Fb_sig"];
    $char_id = $row["Char_id"];
    if($i == 1)
    {
        $data_array .= "$fb_name|$fb_id|$fb_at|$fb_sig|$char_id";
    }
    else
    {
        $data_array .= "(||)$fb_name|$fb_id|$fb_at|$fb_sig|$char_id";
    }
    echo "returnStr=$data_array";
    exit();
}

When you write your exit insight your loop you stop executing your program and you get only one record. You should set the echo and exit after your while loop.

$data_array = "";
$i = 0;

$sql = mysqli_query($conn, "SELECT * FROM ns_users ORDER BY Char_id");
while($row = mysqli_fetch_array($sql)) {
    $i++;
    $fb_name = $row["Username"];
    $fb_id = $row["Fb_id"];
    $fb_at = $row["Access_token"];
    $fb_sig = $row["Fb_sig"];
    $char_id = $row["Char_id"];

    if($i == 1) {
        $data_array .= "$fb_name|$fb_id|$fb_at|$fb_sig|$char_id";
    } else {
        $data_array .= "(||)$fb_name|$fb_id|$fb_at|$fb_sig|$char_id";
    }    
}
echo "returnStr=$data_array";
exit();

Those two last line of your should be outside of your loop:

$data_array = "";
$i = 0;
//if(isset($_POST['myrequest']) && $_POST['myrequest'] == "get_characters")
//{
$sql = mysqli_query($conn, "SELECT * FROM ns_users ORDER BY Char_id");
while($row = mysqli_fetch_array($sql))
{
    $i++;
    $fb_name = $row["Username"];
    $fb_id = $row["Fb_id"];
    $fb_at = $row["Access_token"];
    $fb_sig = $row["Fb_sig"];
    $char_id = $row["Char_id"];
    if($i == 1)
    {
        $data_array .= "$fb_name|$fb_id|$fb_at|$fb_sig|$char_id";
    }
    else
    {
        $data_array .= "(||)$fb_name|$fb_id|$fb_at|$fb_sig|$char_id";
    }



    }
echo "returnStr=$data_array";
        exit();

If you would name the columns that you want in the SELECT then it's much simpler. Make sure to use MYSQLI_ASSOC in the fetch:

$sql = mysqli_query($conn, "SELECT Username, Fb_id, Access_token, Fb_sig, Char_id FROM ns_users ORDER BY Char_id");

while($row = mysqli_fetch_array($sql, MYSQLI_ASSOC))
{
    $data_array[] = implode('|', $row);
}
echo "returnStr=" . implode('(||)', $data_array);
exit();