Hallo,
Ich hab ein, in meinen Augen seltsames Problem. Wenn ich etwas suche wo ich zwischen z.B. 88 und 90 suche, ist es kein Problem und ich bekomme Ergebnisse. Auch wenn ich z.B. genau nach 99 oder 100 oder 101 suche, bekomme ich Ergebnisse. Wenn ich jetzt aber zwischen 101 und 99 suche, bekomme ich auch keine Ergebnisse.
Das unten ist der Code zum suchen.
Und ich weiß, er ist anfällig für SQL Injektions, man kommt aber nur über unser Netzwerk auf den Server und auf die Seite nur mit Passwort. DEr einlog Zugang ist parametrisiert zum Schutz.
Ich hab ein, in meinen Augen seltsames Problem. Wenn ich etwas suche wo ich zwischen z.B. 88 und 90 suche, ist es kein Problem und ich bekomme Ergebnisse. Auch wenn ich z.B. genau nach 99 oder 100 oder 101 suche, bekomme ich Ergebnisse. Wenn ich jetzt aber zwischen 101 und 99 suche, bekomme ich auch keine Ergebnisse.
Das unten ist der Code zum suchen.
Und ich weiß, er ist anfällig für SQL Injektions, man kommt aber nur über unser Netzwerk auf den Server und auf die Seite nur mit Passwort. DEr einlog Zugang ist parametrisiert zum Schutz.
PHP:
<?php
$If = 1;
//Berechnungen
$mze = doubleval($_POST['mz']) + doubleval($_POST['mzvar']);
$mze2 = doubleval($_POST['mz']) - doubleval($_POST['mzvar']);
$mz2e = doubleval($_POST['mz2']) + doubleval($_POST['mzvar2']);
$mz2e2 = doubleval($_POST['mz2']) - doubleval($_POST['mzvar2']);
$rrts = doubleval($_POST['rrt']) + doubleval($_POST['rrtv']);
$rrtd = doubleval($_POST['rrt']) - doubleval($_POST['rrtv']);
$rets = doubleval($_POST['retention_time']) + doubleval($_POST['retention_Time_var']);
$retd = doubleval($_POST['retention_time']) - doubleval($_POST['retention_Time_var']);
$farbwechsel = true;
// Setzen von "WHERE"
if ($mzx != "" or $mole != "" or $iden != "" or $cas != "" or $rrt != "" or $ret != "" or $molfo != "" or $comment != "")
$start = "WHERE";
// Suchen nach Name
if($mole != "")
{
$klausel2 = "(Name LIKE '$mole')";
$order = "ORDER BY RRT, mz1pos, mz1neg, mz2pos, mz2neg ASC";
}
// Suchen nach Masse
if($mzx != "")
{
$klausel1 = "AND (mz1pos BETWEEN '$mze2' AND '$mze' or mz2pos BETWEEN '$mze2' AND '$mze' or mz3pos BETWEEN '$mze2' AND '$mze' or
mz4pos BETWEEN '$mze2' AND '$mze' or mz5pos BETWEEN '$mze2' AND '$mze' or mz6pos BETWEEN '$mze2' AND '$mze' or
mz7pos BETWEEN '$mze2' AND '$mze' or mz1neg BETWEEN '$mze2' AND '$mze' or mz2neg BETWEEN '$mze2' AND '$mze' or
mz3neg BETWEEN '$mze2' AND '$mze' or mz4neg BETWEEN '$mze2' AND '$mze' or mz5neg BETWEEN '$mze2' AND '$mze' or
mz6neg BETWEEN '$mze2' AND '$mze' or mz7neg BETWEEN '$mze2' AND '$mze' or MolecularMass BETWEEN '$mze2' AND '$mze')";
}
// Suchen nach 2. Masse
if($mz2x != "")
{
$klausel10 = "AND (mz1pos BETWEEN '$mz2e2' AND '$mz2e' or mz2pos BETWEEN '$mz2e2' AND '$mz2e' or mz3pos BETWEEN '$mz2e2' AND '$mz2e' or
mz4pos BETWEEN '$mz2e2' AND '$mz2e' or mz5pos BETWEEN '$mz2e2' AND '$mz2e' or mz6pos BETWEEN '$mz2e2' AND '$mz2e' or
mz7pos BETWEEN '$mz2e2' AND '$mz2e' or mz1neg BETWEEN '$mz2e2' AND '$mz2e' or mz2neg BETWEEN '$mz2e2' AND '$mz2e' or
mz3neg BETWEEN '$mz2e2' AND '$mz2e' or mz4neg BETWEEN '$mz2e2' AND '$mz2e' or mz5neg BETWEEN '$mz2e2' AND '$mz2e' or
mz6neg BETWEEN '$mz2e2' AND '$mz2e' or mz7neg BETWEEN '$mz2e2' AND '$mz2e' or MolecularMass BETWEEN '$mz2e2' AND '$mz2e')";
}
// Suchen nach ID
if($iden != "")
{
$klausel3 = "AND (ID = '$iden')";
}
// Suchen nach CAS Nummer
if($cas != "")
{
$klausel4 = "AND (CASNumber like '$cas')";
}
// Suchen nach RRT
if($rrt != "")
{
$klausel6 = "AND (RRT between '$rrtd' and '$rrts')";
}
// Suchen nach Retention Time
if($ret != "")
{
$klausel7 = "AND (Retentionszeit between '$retd' and '$rets')";
}
// Suchen nach Summenformel
if($molfo != "")
{
$klausel8 = "AND (MolecularFormula like '$molfo')";
}
// Suchen nach commentar
if($comment != "")
{
$klausel9 = "AND (comment like '$comment')";
}
$klausel5 = "";
//Welche Tabelle durchsuchen
switch($_POST['Bib'])
{
case 'gcms':
$Bibliothek = "el.gcms";
break;
case 'hsgc':
$Bibliothek = "el.hsgc";
break;
case 'Siloxane':
$Bibliothek = "el.gcsiloxane";
break;
case 'LC':
$Bibliothek = "el.lcms";
break;
case 'polare':
$Bibliothek = "el.lcpolaresubstanzen";
break;
case 'Phthalate':
$Bibliothek = "el.lcphthalate";
break;
case 'Proteine':
$Bibliothek = "el.lcproteine";
break;
case 'additives':
$Bibliothek = "el.additives";
break;
case 'blacklist':
$Bibliothek = "el.siloxaneblacklist";
break;
}
// Gesamtsuchbefehl
$sql = "SELECT * FROM $Bibliothek $start $klausel2 $klausel1 $klausel10 $klausel3 $klausel4 $klausel6 $klausel7 $klausel8 $klausel9 $klausel5 and valid !='no' $order";