Hallo,
danke für den Tipp. Ich habe es jetzt so geändert es funktioniert zwar, bin mir aber nicht sicher ob es richtig ist:
function zeiterfassung($mysqli, $name=false, $projektnummer=false,
$datum_von=false, $datum_bis=false) {
$select = "SELECT id, projektnummer, name, datum, anzStunden,
FROM zeiterfassung";
if ($projektnummer != false && $name != false) {
$param = '%'.$projektnummer.'%';
$stmt = $mysqli->prepare($select . " WHERE projektnummer Like ? AND name=?" );
$stmt->bind_param("ss", $param, $name);
} elseif ($projektnummer != false) {
$param = '%'.$projektnummer.'%';
$stmt = $mysqli->prepare($select . " WHERE projektnummer Like ?" );
$stmt->bind_param("s", $param);
} elseif ($name != false) {
$stmt = $mysqli->prepare($select . " WHERE name =?" );
$stmt->bind_param("s", $name);
} elseif ($datum_von != false) {
$stmt = $mysqli->prepare($select . " WHERE datum =?" );
$stmt->bind_param("s", $datum_von);
} elseif ($datum_bis != false) {
$stmt = $mysqli->prepare($select . " WHERE datum <=?" );
$stmt->bind_param("s", $datum_bis);
} else {
$stmt = $mysqli->prepare($select);
}
if ($datum_von != false && $datum_bis != false) {
$stmt = $mysqli->prepare($select . " WHERE datum BETWEEN ? AND ? " );
$stmt->bind_param("ss", $datum_von, $datum_bis);
}