DB-Abfragen?!?
- leopittoni
- Mitglied
- Beiträge: 1162
- Registriert: 26.04.2004 20:17
Hallo
Erhalte:
Ungueltige Abfrage: Unknown column 'MONTAG1' in 'where clause'
MONTAG1 ist aber ein Feld in meiner DB...
die Tabelle meinetabelle sieht so aus:
stunde fach status
MONTAG1 mathe verschoben
MONTAG2 frz
MONTAG3 ital gestrichen
usw...
und MONTAG1 existiert... dass heisst dass ich warscheinlich was falsch mache bei der Abfrage...
Wer kann mir helfen?
Danke, Léo
Erhalte:
Ungueltige Abfrage: Unknown column 'MONTAG1' in 'where clause'
MONTAG1 ist aber ein Feld in meiner DB...
Code: Alles auswählen
$result = mysql_query("SELECT fach,status FROM meinetabelle WHERE stunde=MONTAG1");
stunde fach status
MONTAG1 mathe verschoben
MONTAG2 frz
MONTAG3 ital gestrichen
usw...
und MONTAG1 existiert... dass heisst dass ich warscheinlich was falsch mache bei der Abfrage...
Wer kann mir helfen?
Danke, Léo
- leopittoni
- Mitglied
- Beiträge: 1162
- Registriert: 26.04.2004 20:17
Hallo
HIer nochmals meine ganze php-Datei. Sie ist im root-verzeichnis, die benötigte DB-Tabelle ist in der selben DB wie das phpBB.
Danke, Léo
HIer nochmals meine ganze php-Datei. Sie ist im root-verzeichnis, die benötigte DB-Tabelle ist in der selben DB wie das phpBB.
Code: Alles auswählen
<?php
//Benˆtigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB2/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
$result = mysql_query("SELECT fach,status FROM meinetabelle WHERE stunde=MONTAG1");
if (!$result) {
die('Ungueltige Abfrage: ' . mysql_error());
}
$row = mysql_fetch_row($result);
$fach = $row[1];
$status = $row[2];
$template->set_filenames(array(
'db_abfragen' => 'db_abfragen.tpl'
));
$template->assign_vars(array(
'FACH' => $fach,
'STATUS' => $status
));
$template->pparse('db_abfragen');
?>
Hi
Deine Tabelle enthält kein Feld namens MONTAG1 sondern das Feld stunde enthält in einem Datensatz den Wert 'MONTAG1'
Deine Query muß also so aussehen:
"SELECT fach,status FROM meinetabelle WHERE stunde='MONTAG1'"
Siehst du den feinen Unterschied?
MONTAG1 ist der Inhalt eines Textfeldes und muß daher in Anführungsstrichen (einfachen-) stehen.
Gruß
Franz
Deine Tabelle enthält kein Feld namens MONTAG1 sondern das Feld stunde enthält in einem Datensatz den Wert 'MONTAG1'
Deine Query muß also so aussehen:
"SELECT fach,status FROM meinetabelle WHERE stunde='MONTAG1'"
Siehst du den feinen Unterschied?
MONTAG1 ist der Inhalt eines Textfeldes und muß daher in Anführungsstrichen (einfachen-) stehen.
Gruß
Franz
Wer einen Rechtschreibfehler findet, darf ihn ruhig behalten. Ich habe noch genug davon auf Lager.
--- Sendet mir bitte KEINE PMs - Ich bevorzuge richtige email!
--- Sendet mir bitte KEINE PMs - Ich bevorzuge richtige email!
- leopittoni
- Mitglied
- Beiträge: 1162
- Registriert: 26.04.2004 20:17
Hallo
Vielen Dank: Jetzt kommt keine Fehlermeldung mehr, aber dafür eine leere Seite...
Die Werte erscheinen leider nicht, wieso nicht? Eigentlich sollte es "fach" und "status" ausgeben.
Hier nochmals meine ganze PHP-Datei:
und meine .tpl:
Danke für die Hilfe, Léo
Vielen Dank: Jetzt kommt keine Fehlermeldung mehr, aber dafür eine leere Seite...
Die Werte erscheinen leider nicht, wieso nicht? Eigentlich sollte es "fach" und "status" ausgeben.
Hier nochmals meine ganze PHP-Datei:
Code: Alles auswählen
<?php
//Benˆtigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB2/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
$result = mysql_query("SELECT fach,status FROM meinetabelle WHERE stunde='MONTAG1'");
if (!$result) {
die('Ungueltige Abfrage: ' . mysql_error());
}
$row = mysql_fetch_row($result);
$fach = $row[1];
$status = $row[2];
$template->set_filenames(array(
'db_abfragen' => 'db_abfragen.tpl'
));
$template->assign_vars(array(
'FACH' => $fach,
'STATUS' => $status
));
$template->pparse('db_abfragen');
?>
Code: Alles auswählen
<html>
<head>
</head>
<body>
{FACH}{STATUS}
</body>
</html>
- leopittoni
- Mitglied
- Beiträge: 1162
- Registriert: 26.04.2004 20:17
Moin,
Original:
Aber müßte es nicht eher so lauten?
mfg
Original:
Code: Alles auswählen
$fach = $row[1];
$status = $row[2];
Code: Alles auswählen
$fach = $row['fach'];
$status = $row['status'];
- leopittoni
- Mitglied
- Beiträge: 1162
- Registriert: 26.04.2004 20:17
- leopittoni
- Mitglied
- Beiträge: 1162
- Registriert: 26.04.2004 20:17
probiert hab ichs, funktionieren tuts nicht.
Ich habe jetzt die Lösung gefunden:
$row = mysql_fetch_row($result);
$fach = $row[0];
$status = $row[1];
So gehts.
Momentan frage ich die DB ja so ab:
$result = mysql_query("SELECT fach,status FROM emeinetabelle WHERE stunde='MONTAG1'");
Ich habe aber noch MONTAG2, MONTAG3 usw. Soll ich das alles einzeln so abfragen oder gibts da eine Möglichkeit, alles zusammen abzufragen?
Danke, Léo
Ich habe jetzt die Lösung gefunden:
$row = mysql_fetch_row($result);
$fach = $row[0];
$status = $row[1];
So gehts.
Momentan frage ich die DB ja so ab:
$result = mysql_query("SELECT fach,status FROM emeinetabelle WHERE stunde='MONTAG1'");
Ich habe aber noch MONTAG2, MONTAG3 usw. Soll ich das alles einzeln so abfragen oder gibts da eine Möglichkeit, alles zusammen abzufragen?
Danke, Léo