PHP meldet invalides SQL - phpMyAdmin führt es ohne Error aus

Es meldet:
Code:
Der Query konnte nicht ausgefuhrt werden: Commands out of sync; you can't run this command now
Was mir genau nichts sagt :(

Also ich hab jetzt erst bemerkt, das er damit den Anzeige Query meint. Das ist nicht so schlimm, aber wenn ihr es gefixed bekommt wäre cool
 
Zuletzt bearbeitet:
Da hast du natürlich recht^^
Es gibt noch mehr Probleme, denn als ich dann einfach nur einen Eintrag bearbeiten wollte, Meldet er dann:
Code:
Notice: Undefined index: delete in /home/www/web310/html/blog/forms/editentries.php  on line 14
Ändern tut er es trotzdem..
Wenn ich den ganzen delete Kram auskommentiere, klappt alles (außer halt löschen)

Also, das ist die gesamte Datei:
PHP:
<?php
error_reporting(E_ALL);

// Funktionen Laden
include('../general/functions.php');

// Verbindung zur Datenbank aufbauen
include('../general/connecttosql.php');

// Prüfen, welche Anfrage gestellt wird: Anzeigen oder Verarbeiten

// Vearbeiten
if ('POST' == $_SERVER['REQUEST_METHOD']){
	if ($_POST['delete']){
		if (isset($_POST['deleteComments'])){
			$query =
				'DELETE FROM
					blog
				WHERE
					blog.ID = "'.$_POST['ID'].'";
				DELETE FROM
					blog_comments
				WHERE
					blog_comments.entry_ID = "'.$_POST['ID'].'"';
					
			// Ausführen
			$check = $db->multi_query($query);
				
			// Prüfen ob der Query ausgeführt wurde
			if (!$check){
				die('Der Query konnte nicht ausgefuhrt werden: '.$db->error);
			}
				
			// Meldung ausgeben
			alert('Eintrag wurde mitsammt der Kommentare gel&ouml;scht!');
		}
		else{
			$query =
				'DELETE FROM
					blog
				WHERE
					blog.ID = "'.$_POST['ID'].'"';
		
			// Ausführen
			$check = $db->query($query);
		
			// Prüfen ob der Query ausgeführt wurde
			if (!$check){
				die('Der Query konnte nicht ausgefuhrt werden: '.$db->error);
			}
		
			// Meldung ausgeben
			alert('Eintrag wurde gel&ouml;scht!');
		}
	}
	else if ($_POST['edit']){
		if (('' != $_POST['newCategory']) and ('new' == $_POST['Category'])){
			$category = $_POST['newCategory'];
		}
		else{
			$category = $_POST['Category'];
		}
		// Query
		$query =
			'UPDATE
				blog
			SET
				order_number =  "'.$_POST['Order'].'",
				Headline = "'.$_POST['Headline'].'",
				Content = "'.$_POST['Content'].'",
				Category = "'.$category.'"
			WHERE
				blog.ID = "'.$_POST['ID'].'"';
		
		// Ausführen
		$check = $db->query($query);
		
		// Prüfen ob der Query ausgeführt wurde
		if (!$check){
			die('Der Query konnte nicht ausgefuhrt werden: '.$db->error);
		}
		
		// Meldung ausgeben
		alert('&Auml;nderungen wurden &uuml;bernommen!');
	}
	else {
		die('Falsches Formular');
	}
}

// Anzeigen
/*else {*/
	readfile('../general/formheader.html');
	echo "Eintr&auml;ge bearbeiten</title>\n</head>\n<body>\n";
	echo "<h1>Eintr&auml;ge bearbeiten (<a href=\"../index.php\">Index</a>)</h1>\n<hr>\n\n";
	
	// SQL Query
	$query =
		'SELECT
			ID,
			order_number,
			Headline,
			Content,
			Date,
			Category
		FROM
			blog
		WHERE
			1';
	
	// SQL Query durchführen & Fehlerüberprüfung
	$result = $db->query($query);
	if (!$result) {
	    die('Der Query konnte nicht ausgefuhrt werden: '.$db->error);
	}

	// Ergebnisse anzeigen
	if ($result->num_rows) {
	    while ($row = $result->fetch_assoc()) {
		
			$ID = ($row['ID']);
		
			echo "<!-- ID: ".$ID." -->\n";
			echo "<div class=\"item\">\n";
			echo "\t<h2>".($row['Headline'])."</h2>\n";
			echo "\tPOSTED ON <span class=\"date\">".($row['Date'])."</span><br>\n";
			echo "\t<input type=\"button\" id=\"showformular_".$ID."\" value=\"Bearbeiten\" onClick=\"javascript:changevisible('editentry_".$ID."');changevalue('showformular_".$ID."','Bearbeiten')\"> &mdash;\n";
			echo "\t<form action=\"editentries.php\" method=\"post\" style=\"display:inline;\">";
			echo "<input type=\"hidden\" name=\"ID\" value=\"".$ID."\"><input type=\"submit\" name=\"delete\" value=\"L&ouml;schen\" class=\"delete-button\">";
			echo "<input type=\"checkbox\" name=\"deleteComments\" checked>Kommentare mitl&ouml;schen ";
			echo "</form>\n";
			echo "\t<form action=\"editentries.php\" method=\"post\" id=\"editentry_".$ID."\" style=\"display:none;\"><br>\n";
			echo "\t\tKategorie: <select name=\"Category\">\n";
			echo "\t\t\t<option value=\"new\">Neue Kategorie anlegen...</option>\n";
			echo "\t\t\t<option selected value=\"".($row['Category'])."\">Jetzt: ".($row['Category'])."</option>\n";
			echo "\t\t\t<option value=\"Aktuelles\">Aktuelles</option>\n";

			// Alle bestehenden Kategorien fetchen
			$categoryQuery = 'SELECT Category FROM blog WHERE Category <> "Aktuelles" GROUP BY Category';
			$categoryResult = $db->query($categoryQuery);
			if (!$categoryResult){
				die('Der Query konnte nicht ausgefuhrt werden: '.$db->error);
			}
			if ($categoryResult){
				while ($categoryRow = $categoryResult->fetch_assoc()) {
					echo "\t\t\t<option value=\"".($categoryRow['Category'])."\">".($categoryRow['Category'])."</option>\n";
				}
			}

			echo "\t\t</select> - Neu: <input type=\"text\" name=\"newCategory\"><br>\n";
			echo "\t\tReihenfolge: <input type=\"text\" name=\"Order\" size=\"2\" value=\"".($row['order_number'])."\"> (Muss bei 'Aktuelles' leer bleiben)<br><br>\n";
			echo "\t\t&Uuml;berschrift:<br><input type=\"text\" name=\"Headline\" size=\"50\" value=\"".($row['Headline'])."\"><br><br>\n";
			echo "\t\tInhalt:<br><textarea name=\"Content\" rows=\"20\" cols=\"100\">\n";
			echo ($row['Content'])."\n";
			echo "\t\t</textarea><br><br>\n";
			echo "\t\t<input type=\"hidden\" name=\"ID\" value=\"".$ID."\">\n";
			echo "\t\t<input type=\"submit\" name=\"edit\" value=\"Fertig\" class=\"verify-button\"> <input type=\"reset\" name=\"reset\" value=\"Leeren\">\n";
			echo "\t</form>\n";
			echo "\t<hr>\n";
			echo "</div>\n";
			echo "<!-- / ID: ".$ID." -->\n\n";
	    }
	}
	else {
		echo "<h2>Keine Eintr&auml;ge</h2>\n";
		echo "Es gibt keine Eintr&auml; zum bearbeiten oder l&ouml;en. <a href=\"http://blog.psoke.de\">Index</a>\n";
	}
	echo "</body>\n";
	echo "</html>";
/*}*/
?>
 
Zuletzt bearbeitet:
Undefined index bedeutet, dass du versuchst auf ein Array mit einem Index zuzugreifen, der gar nicht existiert.
Führe mal vor Zeile 14 ein var_dump($_POST); aus.
 
PHP:
array(7) { ["Category"]=>  string(9) "Aktuelles" ["newCategory"]=>  string(0) "" ["Order"]=>  string(1) "0" ["Headline"]=>  string(3) "rrs" ["Content"]=>  string(26) "rss test sbsggdg vvv" ["ID"]=>  string(2) "47" ["edit"]=>  string(6) "Fertig" }

Kein delete, aber ich frage mich, warum er das möchte, das ist doch nur
PHP:
if ($_POST['delete']){
also in ner if abfrage drin, wenn kein delete vorkommt, sollte er auch nicht nach einem fragen...
 
Code:
if ($_POST['delete'])
ist keine Frage, ob $_POST['delete'] existiert, sondern ob $_POST['delete'] true ist....da es nicht existiert, gibts nen Fehler.

Um zu prüfen, ob eine Variable existiert, verwende isset()
 
Zurück