Hey liebe Community,
ich habe da eine kleine Verständnissfrage.
Und zwar geht es darum, dass ich $_POST Variablen vor dem Eintragen in die Datenbank in den richtigen Datentyp umwandeln will.
Wenn ich jetzt ein SELECT Statement ausführe bekomm ich ein Object der Klasse Mysqli_Result. In dieser Klasse gibt es einen Befehl fetch_field zum fetchen der selectieren Daten.
Soweit so gut. Jetzt besitzt das Object mehrere Keys.
Hier z.b. mein Code:
$check['type'] wird dann den Typ der Spalte $attr beinhalten?
ich bin ein bisschen durcheinander gekommen mit den ganzen Typen...
1EDIT:
Habe vergessen die var_dump ausgabe zu posten, welche mich ein bisschen verwirrt:
/EDIT
2EDIT:
Wenn ich das jetzt richtig verstanden habe, steht die 3 also für den Type "int" und eine 8 für "bigint". Jedoch macht Max_length für mich noch keinen Sinn, da ich es an einer Spalte getestet habe und als max_length 2 angegeben habe...
/EDIT
Gibt es noch eine bessere Möglichkeit den Datentyp einer Spalte zu überprüfen??
mfg
Mad Dog
ich habe da eine kleine Verständnissfrage.
Und zwar geht es darum, dass ich $_POST Variablen vor dem Eintragen in die Datenbank in den richtigen Datentyp umwandeln will.
Wenn ich jetzt ein SELECT Statement ausführe bekomm ich ein Object der Klasse Mysqli_Result. In dieser Klasse gibt es einen Befehl fetch_field zum fetchen der selectieren Daten.
Soweit so gut. Jetzt besitzt das Object mehrere Keys.
Bin ich jetzt richtig in der Annahme, dass type mir den Datentyp einer bestimmen Spalte liefert?name The name of the column orgname Original column name if an alias was specified table The name of the table this field belongs to (if not calculated) orgtable Original table name if an alias was specified max_length The maximum width of the field for the result set. length The width of the field, as specified in the table definition. charsetnr The character set number for the field. flags An integer representing the bit-flags for the field. type The data type used for this field decimals The number of decimals used (for integer fields)
Hier z.b. mein Code:
Code:
public function checkTyp($attr) {
$sql = "SELECT ".$attr." FROM advanced_profil";
if ($result = self::$_DB->query($sql)) {
while ($finfo = $result->fetch_field()) {
$check['type'] = $finfo->type;
$check['max_length'] = $finfo->max_length;
}
}
return $check;
}
ich bin ein bisschen durcheinander gekommen mit den ganzen Typen...
1EDIT:
Habe vergessen die var_dump ausgabe zu posten, welche mich ein bisschen verwirrt:
eigentlich heisst das ja das 'type' einen Integer Wert enthält, eine 3 oder?!?array(2) { ["type"]=> int(3) ["max_length"]=> int(1) }
/EDIT
2EDIT:
Wenn ich das jetzt richtig verstanden habe, steht die 3 also für den Type "int" und eine 8 für "bigint". Jedoch macht Max_length für mich noch keinen Sinn, da ich es an einer Spalte getestet habe und als max_length 2 angegeben habe...
/EDIT
Gibt es noch eine bessere Möglichkeit den Datentyp einer Spalte zu überprüfen??
mfg
Mad Dog
Zuletzt bearbeitet: