1 Pluspunkt 0 Minuspunkte

Ich hab eine Datenbankabfrage wobei die Werte Integer und Decimal sind.

select id, k_id, rabatt from kunden where id = 1

Wenn ich das SQL Ergebnis mit var_dump ausgebe sind es aber Strings.

array(3) {
  ["id"]=> string(1) "1"
  ["k_id"]=> string(1) "13"
  ["discount"]=> string(3) "5.5"
}
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Das Verhalten ist typisch für viele Datenbank APIs. Diese APIs geben die Ergebnisse standardmäßig als Strings zurück. Wenn du möchtest, dass die numerischen Werte als Integer oder Float interpretiert werden, musst du diese manuell konvertieren.

$row = $result->fetch_assoc(); 

$row['id'] = (int) $row['id']; 
$row['k_id'] = (int) $row['k_id']; 
$row['rabatt'] = (float) $row['rabatt'];
von (396 Punkte)