MYSQL Resultat aus function ausgeben

asolution

Mitglied
Hallo Zusammen
Ich möchte eine Ausgabe machen aus einer Funktion genauer die Ausgabe des MYSQL Selects leider funktioniert das nicht wie gewünscht!
Ich erhalte eine Fehlermeldung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/webhosting/*****/loadingcontent/loadingcontent.php on line 18

Könnt ihr mir helfen?

Hier soll die Ausgabe passieren

PHP:
<html> 
	<head> 
  		<title>***</title>
  		<link rel="stylesheet" type="text/css" href="design.css">
	</head> 

	<body> 
		<?php 
		include 'loadingcontent/loadingcontent.php';
		
		$content = new loadContent();
		$content->loadInfo();
		echo $data['Content'];
		?>
</body> 
</html>


Hier in diesem File ist die Funktion aus der ich das $result als ein Datensatz daraus ausgeben will!

PHP:
<?php
//include '../connect.php';
$connectionid = mysql_connect ("localhost", "**", "***");
if (!mysql_select_db ("***", $connectionid))
{
	die ("Keine Verbindung zur Datenbank");
}



class loadContent {
	function loadInfo() {
		$sql = "SELECT MAX(ContId), Content".
  				"FROM tblContent". 
  				"WHERE SiteId = 1".
				"GROUP BY SiteId "; 
		$result = mysql_query ($sql);
		$data = mysql_fetch_array ($result);
	}

}
?>


PS: Sterne im Code sind extra und nur als Sicherheit im Code, im original Code sind sie natürlich nicht vorhanden!
 
supplied argument is not a valid MySQL result resource

Das bedeutet, dass deine SQL-Abfrahe kein Ergebnis geliefert hat und du daher die Daten nicht in $data schreiben kannst.

[...]
$sql = "SELECT MAX(ContId), Content".
"FROM tblContent".
"WHERE SiteId = 1".
"GROUP BY SiteId ";
[...]

Hier ist der Hund begraben, denn dein SQL-Befehl in $sql sieht nach dem Befehl so aus:

SELECT MAX(ContId), ContentFROM tblContentWHERE SiteId = 1GROUP BY SiteId

Wie du siehst, fehlen dir hier die Leerzeichen im SQL-TEXT vor den Schlüsselworten ;)
 
Zuletzt bearbeitet:
Oooh mein Gott!
Doofer SQL Fehler -.- ich schäme mich hätte mir selber auffallen müssen!

Kann ich in der oberen Datei echo $data['Content']; den Wert so auslesen.. iwie funktioniert das nicht?
 
An sich sollest du schon mit $data['Content'] auf den Inhalt zugreifen können.

Mach mal ein
PHP:
var_dump($data);

Dann solltest du sehen welche Werte mit welchen Schlüsseln ansprechbar sind.
Schau dir das Ergebnis besser als Quellcode der HTML-Datei an, dann ist es besser lesbar.

mysql_fetch_array liefert dir die Daten im Prinzip 2 mal. Einmal als Zahlen 0 bis X als Schlüssel und zum Anderen mit den Namen der Felder aus deiner Abfrage als Schlüsselnamen (z.B. 'Content').

Vielleicht hilft dir das weiter.
 
Bitte, hab doch gern geholfen.

Nur noch ein Tipp: Klicke unten bei "Thema antworten" auf das Häkchen, damit markierst du das Thema als erledigt. :)
 
Zurück