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

icke79

Mitglied
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.
 

icke79

Mitglied
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.
 

Yaslaw

alter Rempler
Moderator
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) ""

?>
 

icke79

Mitglied
Das habe ich probiert. Wenn ich die " weg lasse, macht er keinen Eintrag in der Datenbank.
 
Zuletzt bearbeitet: