HELP: object,array in PHP? HILFE

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/help_objectarray_in_php_hilfe_195202/page_1 - zur Vollversion wechseln!


grond schrieb am 16.05.2008 um 17:44

hallo leute :)
also ich hab ein problem, wir müssen in der schule eine "kleine" homepage bauen, und da soll ein fckeditor rein.
"wir" haben es in der schule mit einem Beispiel schon gemacht, nur wenn ich es komplett gleich nachbaue funktioniert es daheim nicht, auch nicht das beispiel, welches in der schule funktionierte.
Hier die Fehlermeldung:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\Programme\xampp\htdocs\xampp\0FCK\editor\ausgabe.php on line 17

ich habs auch mit mysql_fetch_array probiert aber dann kommt die gleiche Fehlermeldung nur halt mit array.

was könnte schuld sein? ist meine mysql-version (gibts sowas) zu alt?
mfg & tia grond


Spikx schrieb am 16.05.2008 um 18:09

Ohne code wird das nix...


grond schrieb am 16.05.2008 um 18:19

Code: PHP
<html>
<head>
	<title>Seite mit Editor</title>
	<link rel="stylesheet" href="../system/style.css" type="text/css">
</head>
<body>
	<H1><a align="center">Seiten mit Editor</a></H1>
	<table align="center" border="0" cellspacing="0" cellspacing="3">
		<tr>
			<th width="350" style="border-bottom:2px solid black;">Seitenname</th>
			<th width="150" style="border-bottom:2px solid black;"> </th>
		</tr>
		<?php
			include("../system/connect.php");
			$sql = "SELECT * FROM editor ORDER BY title ASC";
			$query = mysql_query($sql); 
			while($ausgabe = mysql_fetch_object($query)) [U]Hier ist der fehler/kein fehler..[/U]
			{
		        echo "
                    <tr>
                        <td style=\"border-bottom:1px solid black;\">" . $ausgabe->title . "</th>
                        <td style=\"border-bottom:1px solid black;\" align=\"center\">

                        	<a href=\"anzeigen.php?id=$ausgabe->id\" target=\"_blank\">anzeigen</a> |
                        	<a href=\"edit.php?id=$ausgabe->id\">ändern</a></th>
                    </tr>
				";
			}
		?>
	</table>
</body>
</html>

2. Hier mit tabelle (beim ersten vergessen, trotzdem fehler
Code: PHP
	<?php
			include("../system/connect.php");
			$tabelle= "seiten";
			$sql = "SELECT * FROM $tabelle ORDER BY title ASC";
			$query = mysql_query($sql);
			while($ausgabe = mysql_fetch_array($query))
			{
		        echo "
                    <tr>
                        <td style=\"border-bottom:1px solid black;\">" . $ausgabe->title . "</th>
                        <td style=\"border-bottom:1px solid black;\" align=\"center\">

                        	<a href=\"anzeigen.php?id=$ausgabe->id\" target=\"_blank\">anzeigen</a> |
                        	<a href=\"edit.php?id=$ausgabe->id\">ändern</a></th>
                    </tr>
				";
			}
		?>


fatmike182 schrieb am 16.05.2008 um 18:54

== statt =?
..bledsinn - sry

jedenfalls vermiss ich das <th> das in der While zu beginn zu geht


freezer90 schrieb am 16.05.2008 um 19:15

1. um code zu posten gibts tags ... dann wär das auch a bissal lesbarer.
2. fehler würde ich sagen, passiert eher hier: "$query = mysql_query($sql);"
da kommt anscheinend kein ordentliches result zurück. hast schon mal das statement im mysql admin ausgeführt? kriegst da überhaupt ein ergebnis?


fatmike182 schrieb am 16.05.2008 um 19:30

naja, aber was mich irritiert ist, dass er offensichtlich die query ja durchfuerhen kann, also es $sql und $query gibt. (?)

btw: den mehrzeilen-echo-tag find ich unschoen.
Ich mach lieber fuer sowas die php-Tags zu hau dort ein echo rein wo ichs dann doch benoetige


Spikx schrieb am 16.05.2008 um 19:36

mysql_query kann auch false zurückgeben, dann ist $query keine gültige MySQL resource.


mat schrieb am 16.05.2008 um 22:12

Tags eingebaut. Jetzt ist es doch schöner, oder? :)

Lies dir doch einfach mal die Anleitung durch: http://de2.php.net/mysql_query

Return Values:

1.) FALSE on error
2.) mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.

Am besten du quetscht für Testzwecke ein die(mysql_error()) rein, wenn $query === false, dann solltest du eine Meldung bekommen was da momentan bei dir falsch läuft.


grond schrieb am 17.05.2008 um 08:18

ahm ich bin ein ziemlicher anfänger auf dem "coding" gebiet, also hab ich das meiste nicht verstanden was ihr meint :/

naja um meine anfängliche frage zu wiederholen: Wie kann es sein, dass ein code mit tabelle und allem, welches in der Schule schon funktioniert hat, ein ergebnis ausbrachte und hier erscheint ein Fehler?

/das was mat gesagt hat muss ich mal probieren, hoffe ich schaff das^_^


Vivo schrieb am 17.05.2008 um 12:25

Da gibts nix zu schaffen, einfach das zeug aus mats link copy/paste :)

Code: PHP
if (!$query) {
    die('Ungültige Abfrage: ' . mysql_error());
}

... vor der while-Schleife einfügen!


grond schrieb am 17.05.2008 um 12:43

so hab ich gemacht
bekomm dann diese Fehlermeldung

Parse error: parse error, unexpected $end in
D:\Programme\xampp\htdocs\xampp\spoerk\admin\editor\ausgabe.php on line 36

in line 36 steht:
</html>

was sagt mir das jetzt? alle anderen fehlermedlungen sind weg


jives schrieb am 17.05.2008 um 12:56

Zitat von GrOnD
was sagt mir das jetzt?
Das du den neuen Code posten sollst :)


grond schrieb am 17.05.2008 um 13:01

ja is ganz gleich wie der alte, nur dass ich das was vivo gepostet hat hineingecopyd habe
aber hier nochmal:

Code: PHP
<html>
<head>
	<title>Seite mit Editor</title>
	<link rel="stylesheet" href="../system/style.css" type="text/css">
</head>
<body>
	<H1><a align="center">Seiten mit Editor</a></H1>
	<table align="center" border="0" cellspacing="0" cellspacing="3">
		<tr>
			<th width="350" style="border-bottom:2px solid black;">Seitenname</th>
			<th width="150" style="border-bottom:2px solid black;"> </th>
		</tr>
		<?php
			include("../system/connect.php");
			$tabelle= "editor";
			$sql = "SELECT * FROM $tabelle ORDER BY title ASC";
			$query = mysql_query($sql);
			if (!$query) { 
		   	die('Ungültige Abfrage: ' . mysql_error()); 

			while($ausgabe = mysql_fetch_object($query))
			{
		        echo "
                    <tr>
                        <td style=\"border-bottom:1px solid black;\">" . $ausgabe->title . "</th>
                        <td style=\"border-bottom:1px solid black;\" align=\"center\">

                        	<a href=\"anzeigen.php?id=$ausgabe->id\" target=\"_blank\">anzeigen</a> |
                        	<a href=\"edit.php?id=$ausgabe->id\">ändern</a></th>
                    </tr>
				";
			}
		?>
	</table>
</body>
</html>


fatmike182 schrieb am 17.05.2008 um 13:06

kann das wegen dem fehlenden } des If sein?


Blair schrieb am 17.05.2008 um 13:06

in zeile 19 machst du beim if eine { auf und schließt sie aber nicht mehr. tu sie weg oder mach sie zu, das wird ihn besänftigen




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025