Inhalt in DB speichern

Es Funktioniert:

1 Zeile(n) eingefügt.
ID der eingefügten Zeile: 200 ( die Abfrage dauerte 0.0003 sek. )
 
Versuch trotzdem mal bei allen Integern die Hochkomma wegzunehmen als:

SQL:
INSERT INTO `bericht_unterthemen` (`berichthaupthema_ID`, `Nummer`, `Titel`, `Begruendung`) VALUES (10, 1, 'sdfsdf', 'sdsdfsdf')
 
Zuletzt bearbeitet von einem Moderator:
Du meinst so:
PHP:
			if($newBK1 != "Neuer Eintrag" && $newBK1 != "" && $newBG1 != "")
			 {echo "newNr$haupttitelid$i:$newNr1 /  newBK$haupttitelid$i:$newBK1 / begruendung$haupttitelid$i:$newBG1<br>";
			 echo $sql = "INSERT INTO `bericht_unterthemen` 
						   (`berichthaupthema_ID`, `Nummer`, `Titel`, `Begruendung`)  
						  VALUES
						   ($haupttitelid, '$newNr', '$newBK1', '$newBG1')"; echo"<br>";
			   mysql_query($sql) or die(mysql_error()); 
			 }

newNr100:2 / newBK100:dgdf / begruendung100:fgdg
INSERT INTO `bericht_unterthemen` (`berichthaupthema_ID`, `Nummer`, `Titel`, `Begruendung`) VALUES (10, '', 'dgdf', 'fgdg')


Es kommt genau auf das selbe. Es werden wieder leere Datensätze erfasst, bis auf die berichthaupthema_ID welche korrekt erfasst wird von diesen 4 im SQL-Code.
 
Eigentlich hab ich die Hochkomma bei %newNr gemeint. Ev. machen die dort Probleme weil es ein Float-Wert ist.

PHP:
echo $sql = "INSERT INTO `bericht_unterthemen` 
                           (`berichthaupthema_ID`, `Nummer`, `Titel`, `Begruendung`)  
                          VALUES
                           ($haupttitelid, $newNr, '$newBK1', '$newBG1')"; echo"<br>";
 
Habes nun so versucht.
Geschied genau das selbe :(

newNr100:2 / newBK100:TEST / begruendung100:TEST
INSERT INTO `bericht_unterthemen` (`berichthaupthema_ID`, `Nummer`, `Titel`, `Begruendung`) VALUES (10, 2, 'TEST', 'TEST')


Ich gebe euch mal meinen ganzen Code vielleicht seht ihr etwas was ich übersehen habe ...
PHP:
    $beurteilung = "Texte";
    $querytitellernender = hauptteil($beurteilung);
	 while($row = mysql_fetch_object($querytitellernender))
	{ 
	  $haupttitelid = $row->ID;
	  $titel = $_POST["Titel$haupttitelid"];
	  $nummer = $_POST["Nummer$haupttitelid"];
	  $hauptcheckbox = $_POST["checkbox$haupttitelid"];
	  
	  if($nummer == "" && $nummeralt != "")
	   {
	    $nummer = $nummeralt+1;
	   }
	   
	 if($nummeralt != $nummer)
	  {
	   $nummeralt = $nummer;
	  }	   

 if(isset($_POST['speicherntexte'])) //Änderung speichern
  {  	
//---Normale änderung speichern---//  
	 if("$row->Titel" != $titel || $nummer != "$row->Nummer")
	  {
		 $update = "UPDATE `bericht_haupthema` SET `Beutreilung` = 'Texte', `Nummer` = '$nummer', `Titel` = '$titel' WHERE `bericht_haupthema`.`ID` = $haupttitelid";
		 mysql_query($update);	   
  	  }	 
     if($hauptcheckbox != "" || $hauptcheckbox == "on")
	  {
	    $delet="DELETE FROM `bericht_haupthema` WHERE `bericht_haupthema`.`ID` = $haupttitelid";
		mysql_query($delet);		
		$delet="DELETE FROM `bericht_unterthemen` WHERE `bericht_haupthema`.`berichthaupthema_ID` = $haupttitelid";
		mysql_query($delet);
	  }	
//---Normale änderung speichern ende---//   
//---Unterkriterien abspeichern---//																						//Funktionirt nicht, da die Datensätze leer in der DB gespeichert werden, obwohl etwas drin steht.
	for($i=0;$i<5;$i++)
	 {
		  $newNr1 = $_POST["newNr$haupttitelid$i"];
		  $newBK1 = $_POST["newBK$haupttitelid$i"];
		  $newBG1 = $_POST["begruendung$haupttitelid$i"];
		  
		//  echo "newNr$haupttitelid$i:$newNr1 /  newBK$haupttitelid$i:$newBK1 / begruendung$haupttitelid$i:$newBG1<br>";
		  
			if($newBK1 != "Neuer Eintrag" && $newBK1 != "" && $newBG1 != "")
			 {echo "newNr$haupttitelid$i:$newNr1 /  newBK$haupttitelid$i:$newBK1 / begruendung$haupttitelid$i:$newBG1<br>";																	
				echo $sql = "INSERT INTO `bericht_unterthemen` 
                           (`berichthaupthema_ID`, `Nummer`, `Titel`, `Begruendung`)  
                          VALUES
                           ($haupttitelid, $newNr1, '$newBK1', '$newBG1')"; echo"<br>";  
			   mysql_query($sql) or die(mysql_error()); 
			 }
	 }
//---Unterkriterien abspeichern ende---//	
	   
  }
 else if(isset($_POST['kriteriumloeschentexte']))
   {
     if($hauptcheckbox != "" || $hauptcheckbox == "on")
	  {
	    $delet="DELETE FROM `bericht_haupthema` WHERE `bericht_haupthema`.`ID` = $haupttitelid";
		mysql_query($delet);		
		$delet="DELETE FROM `ipa`.`bericht_unterthemen` WHERE `bericht_haupthema`.`berichthaupthema_ID` = $haupttitelid";
		mysql_query($delet);
	  }
   }  	  
	  	 $queryintertitel = untertitel($haupttitelid);	 
	     $count=0;
		 while($row = mysql_fetch_object($queryintertitel))
		  { 
		    $iduntertitel = $row->ID;
			
			$count++;
			$untercheckbox = $_POST["checkbox$haupttitelid$count"];
		    $untertitelnummer = $_POST["untertitel$haupttitelid$count"];
			$untertiteltitel = $_POST["unterTitel$haupttitelid$count"];
			$untertiteltext = $_POST["untertiteltext$haupttitelid$count"];
			$begruendung = $_POST["begruendung$haupttitelid$count"];
		
			$nummer = $row->Nummer;
			if($nummer == "0")
			 {
			  $nummer="";
			 }	
//---Normale änderung speichern---//  			 
 if(isset($_POST['speicherntexte'])) //Änderung speichern
  {  			
		    if($untertitelnummer != "$nummer" || $untertiteltitel != "$row->Titel" || $untertiteltext != "$row->Text" || $begruendung != "$row->Begruendung")
			{
			 $update = "UPDATE `bericht_unterthemen` SET `Nummer` = '$untertitelnummer', `Titel` = '$untertiteltitel', `Text` = '$untertiteltext', `Begruendung` = '$begruendung'  WHERE `bericht_unterthemen`.`ID` = $iduntertitel";
			 mysql_query($update);
			}
		   if($untercheckbox != "" || $untercheckbox == "on")
			{
			 $delet="DELETE FROM `ipa`.`bericht_unterthemen` WHERE `bericht_unterthemen`.`ID` = $iduntertitel";
			 mysql_query($delet);
			}
//---Normale änderung speichern ende---//   					
  }
 else if(isset($_POST['kriteriumloeschentexte']))
  {
		   if($untercheckbox != "" || $untercheckbox == "on")
			{
			 $delet="DELETE FROM `ipa`.`bericht_unterthemen` WHERE `bericht_unterthemen`.`ID` = $iduntertitel";
			 mysql_query($delet);
			}   
  } 
		  } 
		  
		}

Der Beriech mit dem Titel //---Unterkriterien abspeichern---// ist der, der nicht funktioniert.
 
sehr seltsam. Bist du dir sicher dass dieser Fehler nicht durch eine Datenbankeinstellug entsteht? Gehen andere Insert-Statements? Ev. kannst du noch versuchen die ganzen ` wegzulassen.
 
Hi

die Hochkommata sollten eigentlich nicht das Problem darstellen, vielleicht sind es aber die Zeilenumbrüche (\n) die beim Kopieren nicht mit übernommen werden, weshalb der Query im phpMyAdmin funktioniert:
PHP:
$sql = "INSERT INTO `bericht_unterthemen` ".
       "(`berichthaupthema_ID`, `Nummer`, `Titel`, `Begruendung`)  ".
       "VALUES ".
       "($haupttitelid, $newNr, '".$newBK1."', '".$newBG1."')";
 
Ich habe noch weitere Insert, Select, Delete und Update befehle in dieser Datei und alle funktionieren.
Bis auf diese, warum auch immer.

Auch wenn ich die Variablen so ".$variable." angeben funktioniert es nicht, obwohl ich bei meinem Echo des Insert Befehles die Korrekte Daten haben.

newNr100:3 / newBK100:TEST / begruendung100:TEST
INSERT INTO `bericht_unterthemen` (`berichthaupthema_ID`, `Nummer`, `Titel`, `Begruendung`) VALUES (10, 3, 'TEST', 'TEST')


Ich verstehe das nicht. Weswegen das es nicht funktioniert. Denn wie schon erwähnt, alle andere SQL-Befehle funktionieren.
 
Meins du mit "Zeilenumbrüche " das echo "<br>";? Das habe ich weggenommen.
Und die eingaben solten keine Zeilenumbrüche haben.

Oder welche meinst du?
 
Zurück