Bernd: Kein Insert wenn Feld leer

Beitrag lesen

Hallo,

ich habe den Fehler gefunden

foreach($daterange as $date){

			$stmt_datum_kalender = $mysqli->prepare("

						INSERT INTO artikel_ausgeliehen (
								aa_artikelID, aa_projektID, aa_userID, aa_menge, aa_datum, aa_status, 
                aa_grund, aa_code)  
					  	
					  	VALUES (?, ?, ?, ?, ?, ?, ?, ?)");

			if ( false === $stmt_datum_kalender ) {
			  die('prepare() failed: ' . htmlspecialchars($mysqli->error));
			}
											
				$aa_artikelID	= $CodeArtikel;
				if ($_POST["avd_pid"] == "") {
					$aa_projektID	= "";
				} else {
					$aa_projektID	= $CodeProjekt;
				}

				if ($p_userID == "") {
					$aa_userID	= "";
				} else {
					$aa_userID	= $p_userID;
				}

				$aa_menge		= $_POST["avd_menge"];
				$aa_datum		= $date->format("Y-m-d");
				$aa_status		= "4";
				$aa_grund		= "80";
				$aa_code		= $ADCode;

			$stmt_datum_kalender->bind_param("ssssssss", 
                $aa_artikelID, $aa_projektID, $aa_userID, $aa_menge, $aa_datum, 
                $aa_status, $aa_grund, $aa_code);
			
			if ( false === $stmt_datum_kalender ) {
			  die('bind_param() failed: ' . htmlspecialchars($stmt->error));
			}
			
			$stmt_datum_kalender->execute();
			$letzteID = $mysqli->insert_id;

			echo $letzteID;

			if ( false === $stmt_datum_kalender ) {
			  die('execute() failed: ' . htmlspecialchars($stmt->error));
			}

}

Es lag an dieser Zeile

$aa_userID	= $p_userID;

Denn keine Projekt-ID hinterlegt war, ist natürlich $p_userID auch leer. Nur warum hat er dann das INSERT nicht gemacht? Ein leeres Feld darf doch vorkommen und warum wurde dieses nicht als Fehler ausgegeben?