sql >> Database teknologi >  >> RDS >> Mysql

Php pdo foreach

Du overskriver arrayet inde i foreach på hver iteration. Dette betyder i det væsentlige, at arrayet tømmes ved hver iteration. Arrayet vil kun indeholde værdierne fra den sidste iteration. Flyt $temp = array(); erklæring uden for løkken for at rette dette:

$temp = array(); // intialize the array

foreach($result as $r) {
    $temp[] = array(
        'id' => (int) $r['id_tabele'], 
        'ime_prezime' => (string) $r['naziv']
    ); 
}

Ovenstående rettelse vil få din kode til at fungere, men jeg anbefaler at bruge fremgangsmåden ved hjælp af SQL-aliaser som vist i @YourCommonSense 's svar under.



  1. Symfony2 - Doctrine2 QueryBuilder WHERE IN ManyToMany-feltet

  2. Sådan grupperes resultater efter antal relationer

  3. Markører på MySQL - god eller dårlig

  4. FLÉT tabel, gør ingenting, når det matches