SQL foreach und SQL

-Rayz-

Lieutenant
Registriert
Okt. 2010
Beiträge
909
Ich habe eine Tabelle thematic und eine Tabelle themahatcat. Ein Thema kann mehrere Kategoriern haben. Wenn man also in einer multiple Checkbox mehrere Werte anklickt, so müssen auch mehrere Datensätze in der Datenbank eingefügt werden. Leider klappt es nicht so wie ich es gerne hätte..

PHP:
$query = "INSERT INTO thematic(title,metadata,preview,excerpt,CMP_ID)
				 VALUES('$title_thema','$meta_thema','$prev_thema','$auszug','$CMP_ID')";
	$conn->Execute($query) or die("Fehler bei Abfrage!" + mysql_error());
		
	$THID = $conn->Insert_ID();	
	
	$category = array();
	foreach($_POST['category'] as $wert => $value){
		$category[$wert] = $value;		
		$query = "INSERT INTO themahatcat(THID,CAID)
				 VALUES('$THID','$category[$wert]')";
		$conn->Execute($query) or die("Fehler bei Abfrage!" + mysql_error());
	}

Wie muss ich den Code ändern damit es funktioniert?
 
was genau funktioniert denn nicht? welche datenbankzugriffe werden abgebrochen? gibt es eine fehlermeldung? wie sieht die tabellendefinition aus?
 
es werden keine Daten in die Tabelle themahatcat geschrieben. Fehlermeldung kommt leider keine. Die Tabelle thematic funktioniert und auch die THID wird richtig angegeben.
Tabellendefinition sind so:

themahatcat
PHP:
CREATE TABLE IF NOT EXISTS `themahatcat` (
  `THID` int(11) NOT NULL,
  `CAID` int(11) NOT NULL,
  KEY `THIDD` (`THID`),
  KEY `CAID` (`CAID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

und thematic:

PHP:
CREATE TABLE IF NOT EXISTS `thematic` (
  `THID` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
  `metadata` varchar(300) COLLATE latin1_general_ci DEFAULT NULL,
  `preview` varchar(300) COLLATE latin1_general_ci DEFAULT NULL,
  `excerpt` varchar(300) COLLATE latin1_general_ci DEFAULT NULL,
  `CMP_ID` int(11) DEFAULT NULL,
  `CAID` int(11) DEFAULT NULL,
  PRIMARY KEY (`THID`),
  KEY `CMP_ID` (`CMP_ID`),
  KEY `CAID` (`CAID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci


PS ohoh da seh ich doch schon einen Fehler... KEY `THIDD` (`THID`),
Ergänzung ()

oh man das ist mir mal wieder peinlich -_- genau daran lag es...
 
Zuletzt bearbeitet:
Ich kenn das, manchmal reicht es, den Blödsinn, den man verzapft hat, einfach zu posten und schon sieht man, was man falsch gemacht hat :D
 
Zurück
Oben