0

I cannot solve this seeming simple problem. I have the following simple code and all I want is to echo the result of $ATL5_Alert_query and separated by a comma (,):

$ATL5_Alert_query = mysql_query("SELECT `Mobile` FROM `dbo_tech_name` WHERE `AlertLevel`= 1"); 

$dataset = array();
 while ($data = mysql_fetch_array($ATL5_Alert_query))
 {
   $dataset[] = $data;
 }
echo implode (",", $dataset);

However, I'm getting "Notice: Array to string conversion "...

elstiv
  • 383
  • 5
  • 27
  • Can you try to inspect the variables and there types with `var_dump()`? I don't think it is a duplicate but it is related to http://stackoverflow.com/questions/20017409/how-to-solve-error-notice-array-to-string-conversion-in and http://stackoverflow.com/questions/6817148/convert-array-to-a-string-using-other-methods-that-json – Risadinha Jun 19 '15 at 08:09

1 Answers1

1

In your code $data is array as well, so $dataset becomes an array of arrays, which you cannot concatenate. You should get the searched value by this:

while ($data = mysql_fetch_array($ATL5_Alert_query))
{
   $dataset[] = $data['Mobile'];
}

or:

while ($data = mysql_fetch_array($ATL5_Alert_query))
{
   $dataset[] = $data[0];
}

or:

while ($data = mysql_fetch_assoc($ATL5_Alert_query))
{
   $dataset[] = $data['Mobile'];
}

If you however cannot change this, and already have your $dataset array, you can implode it like that:

echo implode(',', array_map(function($a){
  return $a['Mobile'];
},$dataset));
n-dru
  • 9,285
  • 2
  • 29
  • 42