mysql wählt eine einzelne Spalte als eindimensionales Array in PHP aus

Ich wähle eine einzelne Spalte aus meiner MySQL-database:

$savedSQL = 'SELECT can_id FROM savedsearches WHERE user_id = "'.mysql_real_escape_string($user_id).'" AND insertTime >= "'.$lastSigTime.'"'; $savedQuery = mysql_query($savedSQL); 

Und ich möchte die Werte als eindimensionales, enumeriertes Array zurückgeben, so dass Array [0] = row1, array [1] = row2 usw.

Wenn ich es in ein Array wie folgt einfüge:

 while($savedResult = mysql_fetch_array($savedQuery)) { $savedArray[] = $savedResult; } 

Er gibt es als ein mehrdimensionales Array zurück, so dass das Array [0] [0] = row1, array [1] [0] = row2 usw. ist.

Ich dachte darüber nach etwas hinzuzufügen:

 while($i=0;$i<count($savedArray);$i++) { $newSavedArray[$i] = $savedArray[$i][0] } 

Aber gibt es einen einfacheren, effizienteren path, dies zu erreichen?

Solutions Collecting From Web of "mysql wählt eine einzelne Spalte als eindimensionales Array in PHP aus"

Du bist sehr nah dran. Sie müssen nur auf $savedResult[0] zugreifen, um Ihre Spalte abzurufen, und sie an $savedArray anhängen

 while($savedResult = mysql_fetch_array($savedQuery)) { $savedArray[] = $savedResult[0]; } 
 while($savedResult = mysql_fetch_array($savedQuery)) { $savedArray[] = $savedResult['can_id']; } 

Versuchen

 $savedArray[] = $savedResult['can_id']; 

Anstatt von

 $savedArray[] = $savedResult; 

Hier ist eine Methode mit mysqli und keine loop.

 $r = mysqli_query($c,'SELECT can_id FROM savedsearches WHERE user_id = "'.mysql_real_escape_string($user_id).'" AND insertTime >= "'.$lastSigTime.'"'); $savedArray = array_column(mysqli_fetch_all($r,MYSQLI_ASSOC),"can_id"); 

Wenn Sie zunächst die Ergebnisse von mysql erhalten, können Sie den Inhalt beider while-loops in einen zusammenführen:

 while($result = mysql_fetch_array($savedQuery)) { $savedArray[] = $result[0]; // or $result['can_id'] }