Fehler bei der Speicherfreigabe nach mysql Abfrage

ArFiBa

Erfahrenes Mitglied
Moin Leute,

hab mal wieder ein Problem. ich verwende auf deiner Seite drei Abfragen zum überprüfen von Benutzereingaben und natürlich soll nach der Abfrage der Speicher wieder freigegeben werden. Bei der Ersten klappt das auch aber danach kommt da der folgende Fehler:
Code:
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in grp_check.php on line 81

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in grp_check.php on line 82

Hier die mysql Abfragen:
1:
PHP:
$sql_checkbez = "SELECT ".
    "grp_bez".
  " FROM ".
    "grp".
  " WHERE ".
    "(grp_bez = '".$_POST["grp_titel"]."') ";
$result_checkbez = mysql_query ($sql_checkbez) or die("Datenbankfehler: " . mysql_error());
2:
PHP:
$sql_checkkat = "SELECT ".
    				"grp_kategorie_bez".
  					" FROM ".
    				"grp_kategorie".
  					" WHERE ".
    				"(grp_kategorie_id = '".$_POST["grp_kategorie_id"]."') ";
			$result_checkkat = mysql_query ($sql_checkkat) or die("Datenbankfehler: " . mysql_error());
			$row_checkkat = mysql_fetch_array($result_checkkat);
3:
PHP:
$sql_checktyp = "SELECT ".
    				"grp_typ_bez".
  					" FROM ".
    				"grp_typ".
  					" WHERE ".
    				"(grp_typ_id = '".$_POST["grp_typ"]."') ";
			$result_checktyp = mysql_query ($sql_checktyp) or die("Datenbankfehler: " . mysql_error());
			$row_checktyp = mysql_fetch_array($result_checktyp);

Und hier der Befehl zur Speicherfreigabe:
PHP:
80|<?php mysql_free_result($result_checkbez);?>
81|<?php mysql_free_result($result_checkkat);?>
82|<?php mysql_free_result($result_checktyp);?>
Die Zahlen vorn sind im Cod natürlich nicht drin. Das ist die Zeilenzahl.

Warscheinlich hab ich nur irgendeine Kleinigkeit vergessen.
 
Benutze doch einfach für alle Abfragen die selben Variablen:
Code:
<?php

	?

	$query = "
		SELECT
		        `grp_bez`
		  FROM
		        `grp`
		  WHERE
		        `grp_bez` = '".mysql_real_escape_string($_POST['grp_titel'])."'
		";
	$result = mysql_query($query) or die('Datenbankfehler: '.mysql_error());

	?

	$query = "
		SELECT
		        `grp_kategorie_bez`
		  FROM
		        `grp_kategorie`
		  WHERE
		        `grp_kategorie_id` = '".mysql_real_escape_string($_POST['grp_kategorie_id'])."'
		";
	$result = mysql_query($query) or die('Datenbankfehler: '.mysql_error());
	$row_checkkat = mysql_fetch_array($result);

	?

	$query = "
		SELECT
		        `grp_typ_bez`
		  FROM
		        `grp_typ`
		  WHERE
		        `grp_typ_id` = '".mysql_real_escape_string($_POST['grp_typ'])."'
		";
	$result = mysql_query($query) or die('Datenbankfehler: '.mysql_error());
	$row_checktyp = mysql_fetch_array($result);

	?

	mysql_free_result($result);

	?

?>
 
Das ist nicht direkt machbar, da zwischen den einzelnen Abfragen natürlich mit den Daten gearbeitet wird. Außerdem sind die Abfragen an Bedingungen geknüpft. Nur wen wie erste ohne "Fehler" durchgelaufen ist, ist die nächste überhaupt nötig.
 
Zurück