mysql_fetch_array() liefert nur Strings

Galanos

Galanos

Aktives Mitglied
Thread Starter
Dabei seit
19.12.2005
Beiträge
625
Reaktionspunkte
23
Hallo zusammen :)

Da es um die PHP-API zu MySQL geht, poste ich mal nicht ins DB-Forum.

Und zwar wundere ich mich, dass alle Werte des Arrays, den ich per
PHP:
$testarray = mysql_fetch_array($query, MYQSL_ASSOC);
… mit Ergebnissen aus einer Datenbankabfrage fuelle, vom Datentyp "String" sind. Geprueft mit
PHP:
foreach($testarray as $key => $value) { print gettype($value); }
Und das, obwohl ich die Spalten als Int, Float, Text, Varchar und Timestamp definiert habe – ich wuerde mir also den einen oder anderen "integer" und "float" wuenschen.

Mit der Definition des Query-Strings belaestige ich euch jetzt mal nicht, die Abfrage klappt sonst wunderbar. Oder waere das von Interesse?

Die Vermutung, dass Array-Werte grundsaetzlich nur Strings sein koennen, habe ich ausschliessen koennen – haette mich auch gewundert.
Jetzt koennte "mysql_fetch_array" moeglicherweise den Datentyp verwerfen, Google, MySQL-Doku und PHP-Doku fanden dazu leider nichts – weshalb ich mich an euch wende :)

Kann mir also jemand sagen, woran das liegt? Gibt es eine Moeglichkeit, den Datentyp zu erhalten?

Ah ja: PHP 5.x und MySQL 5.x bei 1&1 ...

Danke! Galanos
 
Guckst du hier: http://de3.php.net/manual/en/function.mysql-fetch-array.php

Returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows. The type of returned array depends on how result_type is defined. By using MYSQL_BOTH (default), you'll get an array with both associative and number indices. Using MYSQL_ASSOC, you only get associative indices (as mysql_fetch_assoc() works), using MYSQL_NUM, you only get number indices (as mysql_fetch_row() works).
 
die englische man page dazu sagt doch, es nur strings zurück:
http://php.net/manual/en/function.mysql-fetch-array.php
Okay, das kommt davon, wenn man in die deutsche Dokumentation schaut :hum: Danke.
p.s. vielleicht ist
mysql_fetch_field
besser für dich, wenn du eh nur die field types haben willst?
Hm, interessant … Moeglicherweise greife ich darauf zurueck. Aber vorerst wollte ich nur die Werte zurueck bekommen, die ich auch hinein gefuettert habe. Und wenn ich einen Integer gebe und einen String erhalte, ist das irgendwie unbefriedigend und sieht auf den ersten Blick nach einer zukuenftigen Fehlerquelle aus. Habe mir eingeblaeut, immer meine Datentypen unter Kontrolle zu haben :)
 
Zuletzt bearbeitet:
Zurück
Oben Unten