Suche bei wechsel zwischen 2 und 3 stelligen Zahlen (99 auf 100)

So, als kurze Info. Ich habe nen bissl viel rumprobieren müssen, hab jetzt aber eine Lösung. Ich musste die "'" belassen, aber den Datentyp auf float ändern. Ohne die ' bekomme ich keine Ergebnisse.
 
Ich nochmal ;-)
Ich habe das mit Nullif nicht hin bekommen. Ich vermute, dass die Tabelle das nicht zulässt, obwohl die einstellung ganz klar "NULL" Werte zulassen sagt.
Ich habe jetzt etwas anderes probiert...

PHP:
  switch($_POST['mz3pos'])
{
     case '':
                $mz3pos= NULL;
     }

  
   $sql = "UPDATE $Bibliothek SET    valid = '$valid', editedat = '$heute', editedby = '$userid', IP = '$ip' WHERE ID = $ID";

   $sql1 = "INSERT INTO $Bibliothek     (Name, mz1neg, mz2neg, mz3neg, mz4neg, mz5neg, mz6neg, mz7neg, mz1pos, mz2pos, mz3pos, mz4pos, mz5pos, mz6pos, mz7pos, RRT, Retentionszeit, CASNumber, MolecularMass, MolecularFormula, BoilingPoint, APCIneg, APCIpos, ESIneg, ESIpos, ownmeasurement, IDdegradationproduct, Linktospectra, Typcolumn, comment, edit, IP, created, valid) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'yes')";
    
   $params = array("$mole", "$mz1neg", "$mz2neg", "$mz3neg", "$mz4neg", "$mz5neg", "$mz6neg", "$mz7neg", "$mz1pos", "$mz2pos", "$mz3pos", "$mz4pos", "$mz5pos", "$mz6pos", "$mz7pos", "$rrt", "$ret", "$casn", "$molma", "$molfo", "$BoiPoi", "$APCIneg", "$APCIpos", "$ESIneg", "$ESIpos", "$measurement", "$IDdeg", "$link", "$column", "$comment", "$admin_userid", "$ip", "$heute");

Sprich, wenn die Eingabezeile "mz3pos" leer ist, setze ich die variable zum speichern = NULL...
Da wird aber trotzdem 0 als Ergebnis angezeigt wenn ich mir den Eintrag später anzeigen lasse.
Die variable wird aber richtig gesetzt. Wenn ich nämlich im "Switch / case" eine Zahl eingebe, wird die übernommen.
 
Warum machst du einen Stringarray? Du kannst di Variabeln beim prepared direkt übergen
PHP:
$params = array($mole, $mz1neg, $mz2neg, $mz3neg, ...
Mit dem "$variable" machst aus aus einem Null wieder ein Leerstring

PHP:
$raw = null;
var_dump($raw);    // NULL
var_dump("$raw");   //string(0) ""

?>
 
Das habe ich probiert. Wenn ich die " weg lasse, macht er keinen Eintrag in der Datenbank.
 
Zuletzt bearbeitet:
Zurück