Datenbankabfrage-Problem

Fragen zum Thema HTML, JavaScript, PHP
Antworten
midnight_
Beiträge: 16
Registriert: So Jan 01, 2012 9:11 pm

Datenbankabfrage-Problem

Beitrag von midnight_ » Fr Mär 30, 2012 11:56 pm

huhu,
kann mir jemand erklären worin der unterschied bei dem code-schnipseln liegt, oder liegt der fehler einfach nur bei mir?

dieser code funktioniert:

Code: Alles auswählen

$sql = "SELECT
			Inhalt
		FROM
			tabelle
		WHERE
			name = '$page'";
		$result = mysql_query($sql);
	if (!$result) {
		die ('Etwas stimmte mit dem Query nicht: '.$db->error);
	}	

	while ($row = mysql_fetch_array($result)) { 
		echo $row['Inhalt'];
	}
	unset($result);
während bei dem hier die Fehlermeldung "Notice: Trying to get property of non-object in ..." angezeigt wird?

Code: Alles auswählen

$table = tabelle;
$sql = "SELECT
			Inhalt
		FROM
			'$table'
		WHERE
			name = '$page'";
		$result = mysql_query($sql);
	if (!$result) {
		die ('Etwas stimmte mit dem Query nicht: '.$db->error);
	}	

	while ($row = mysql_fetch_array($result)) { 
		echo $row['Inhalt'];
	}
	unset($result);

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Datenbankabfrage-Problem

Beitrag von nufan » Sa Mär 31, 2012 4:33 am

Du kriegst doch sicher die Zeile des Fehlers angezeigt oder? Wäre auch nett zu wissen :)
$table ist ein String mit dem Namen deiner Tabelle? Sieht für mich nicht wie ein String aus ;) Die Anführungszeichen stehen an der falschen Stelle, im SQL-Query anstatt bei der Zuweisung.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Datenbankabfrage-Problem

Beitrag von Xin » Sa Mär 31, 2012 9:09 am

midnight_ hat geschrieben:während bei dem hier die Fehlermeldung "Notice: Trying to get property of non-object in ..." angezeigt wird?

Code: Alles auswählen

$table = tabelle;
Was genau ist denn tabelle? Es ist jedenfalls nicht $tabelle und auch nicht "tabelle" oder 'tabelle', da es ja nur tabelle ist. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

midnight_
Beiträge: 16
Registriert: So Jan 01, 2012 9:11 pm

Re: Datenbankabfrage-Problem

Beitrag von midnight_ » Sa Mär 31, 2012 11:00 am

Da ist mir beim ersten Post ein Fehler unterlaufen- es muss bei dem code der nicht funktioniert so heißen:

Code: Alles auswählen

$table = "tabelle";
so stehts auch in meinem code, hab hier nur die "" vergessen
"tabelle" ist die mysql tabelle aus der der Inhalt geholt werden soll

Der Fehler ist in der Zeile:

Code: Alles auswählen

die ('Etwas stimmte mit dem Query nicht: '.$db->error);

Benutzeravatar
Dubbel
Beiträge: 197
Registriert: So Jul 06, 2008 6:25 pm
Wohnort: Kopenhagen
Kontaktdaten:

Re: Datenbankabfrage-Problem

Beitrag von Dubbel » Sa Mär 31, 2012 11:36 am

Ein Problem könnte das Objekt "db" sein.
Existiert das in einem Code? Hast du eine Instanz der Klasse angelegt? Oder ist der Code aus einem anderen Code kopiert?

Was passiert, wenn du $db->error durch mysql_error() ersetzt?

Edit: Nicht DAS Problem, aber ein Problem. Vielleicht wird man aus dem Fehlercode ja schlauer

C@mper
Beiträge: 88
Registriert: Mo Nov 15, 2010 3:30 pm

Re: Datenbankabfrage-Problem

Beitrag von C@mper » Mi Apr 04, 2012 1:00 pm

Das Problem/Unterschied liegt lediglich in den "Anführungszeichen" um die Variable tabelle.

midnight_
Beiträge: 16
Registriert: So Jan 01, 2012 9:11 pm

Re: Datenbankabfrage-Problem

Beitrag von midnight_ » Di Apr 10, 2012 2:27 am

Dubbel hat geschrieben:Ein Problem könnte das Objekt "db" sein.
Existiert das in einem Code? Hast du eine Instanz der Klasse angelegt? Oder ist der Code aus einem anderen Code kopiert?
Was passiert, wenn du $db->error durch mysql_error() ersetzt?
War über die Ferien nicht da und bin grad erst nach Hause gekommen, werd mich darum heut Nachmittag kümmern. Jetzt heißts erstmal schlafen gehen :)

midnight_
Beiträge: 16
Registriert: So Jan 01, 2012 9:11 pm

Re: Datenbankabfrage-Problem

Beitrag von midnight_ » So Apr 15, 2012 9:21 pm

C@mper hat geschrieben:Das Problem/Unterschied liegt lediglich in den "Anführungszeichen" um die Variable tabelle.
Danke, das war das Problem :)
Habe einfach das:

Code: Alles auswählen

$sql = "SELECT
         Inhalt
      FROM
         '$table'
      WHERE
         name = '$page'";
in das geändert:

Code: Alles auswählen

$sql = "SELECT
         Inhalt
      FROM
         $table
      WHERE
         name = '$page'";

Antworten